仿乐透购彩app(7)— 合买
package com.chb.letou
import java.util.ArrayList
import java.util.List
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.View.OnClickListener
import android.view.ViewGroup
import android.view.Window
import android.widget.AdapterView
import android.widget.AdapterView.OnItemClickListener
import android.widget.LinearLayout.LayoutParams
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.ListAdapter
import android.widget.ListView
import android.widget.TextView
import com.chb.letou.entity.Bean
import com.chb.letou.entity.SubBean
import com.chb.letou.util.data.SystemData
import com.chb.letou.view.adapter.CommonAdapter
import com.chb.letou.view.adapter.MagicViewHolder
public class MainActivity extends Activity implements OnClickListener{
/**
* 购彩的的
*/
private ListView main_goucai_lv
/**
* 购彩的数据源
*/
private List<Bean> datas
private CommonAdapter<Bean> goucai_adapter
/**
* 底部的五个按钮
*/
private LinearLayout main_bottom1
private LinearLayout main_bottom2
private LinearLayout main_bottom3
private LinearLayout main_bottom4
private LinearLayout main_bottom5
LinearLayout main_center
//顶部的按钮
private TextView main_top_zhongjiangbang
private TextView main_top_loginAndRegister
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
requestWindowFeature(Window.FEATURE_NO_TITLE)
setContentView(R.layout.activity_main)
//初始化数据
initData()
initview()
}
/**
* 初始化购彩的item数据
*/
private void initData() {
datas = new ArrayList<Bean>()
SubBean bean= null
for (int i = 0
//icon, title, text
bean = new SubBean()
bean.setIcon(SystemData.main_tab1_list_icons[i])
bean.setTitle(SystemData.main_tab1_list_titles[i])
bean.setText(SystemData.main_tab1_list_texts[i])
datas.add(bean)
}
/**
* 购彩 ListView的item布局的适配器
*/
goucai_adapter = new CommonAdapter<Bean>(datas, MainActivity.this, R.layout.main_item_layout){
@Override
protected void doView(MagicViewHolder mvh, Bean t) {
// TODO Auto-generated method stub
ImageView iv = (ImageView) mvh.getView(R.id.main_tab1_list_icon)
TextView title = (TextView) mvh.getView(R.id.tab1_list_title)
TextView text = (TextView) mvh.getView(R.id.tab1_list_text)
SubBean bean = (SubBean)t
iv.setImageResource(bean.getIcon())
title.setText(bean.getTitle())
text.setText(bean.getText())
}
}
}
/**
* 初始化view
*/
private void initview(){
//底部的五个按钮
main_bottom1 = (LinearLayout) findViewById(R.id.main_bottom1)
main_bottom2 = (LinearLayout) findViewById(R.id.main_bottom2)
main_bottom3 = (LinearLayout) findViewById(R.id.main_bottom3)
main_bottom4 = (LinearLayout) findViewById(R.id.main_bottom4)
main_bottom5 = (LinearLayout) findViewById(R.id.main_bottom5)
//点击事件监听
main_bottom5.setOnClickListener(this)
main_bottom4.setOnClickListener(this)
main_bottom3.setOnClickListener(this)
main_bottom2.setOnClickListener(this)
main_bottom1.setOnClickListener(this)
//中间布局
main_center = (LinearLayout) findViewById(R.id.main_center)
//main布局中的两个按钮
main_top_zhongjiangbang = (TextView) findViewById(R.id.main_top_zhongjiangbang)
main_top_loginAndRegister = (TextView) findViewById(R.id.main_top_loginAndRegister)
main_top_zhongjiangbang.setOnClickListener(this)
main_top_loginAndRegister.setOnClickListener(this)
//中间的Listview
main_goucai_lv = (ListView) findViewById(R.id.main_tab1_list)
main_goucai_lv.setAdapter(goucai_adapter)
setListViewHeightBasedOnChildren(main_goucai_lv)
goucai_adapter.notifyDataSetChanged()
main_goucai_lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
/**
* 点击进入购彩界面
* arg2点击事件的位置
*/
Intent intent = new Intent(MainActivity.this, BuyLotteryActivity.class)
Bundle bundle = new Bundle()
TextView tv = (TextView) arg1.findViewById(R.id.tab1_list_title)
String title = tv.getText().toString()
bundle.putString("title", title)
intent.putExtras(bundle)
startActivity(intent)
}
})
}
/**
* 按钮状态的变化
* //底部的五个按钮的复位
*/
private void resetButton() {
main_bottom1.setBackgroundResource(SystemData.main_botton_norpics[0])
main_bottom2.setBackgroundResource(SystemData.main_botton_norpics[1])
main_bottom3.setBackgroundResource(SystemData.main_botton_norpics[2])
main_bottom4.setBackgroundResource(SystemData.main_botton_norpics[3])
main_bottom5.setBackgroundResource(SystemData.main_botton_norpics[4])
}
/**
* 动态设置ListView的高度
* @param listView
*/
public static void setListViewHeightBasedOnChildren(ListView listView) {
if(listView == null) return
ListAdapter listAdapter = listView.getAdapter()
if (listAdapter == null) {
return
}
int totalHeight = 0
for (int i = 0
View listItem = listAdapter.getView(i, null, listView)
listItem.measure(0, 0)
totalHeight += listItem.getMeasuredHeight()
}
ViewGroup.LayoutParams params = listView.getLayoutParams()
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1))
listView.setLayoutParams(params)
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.main_bottom1://购彩
resetButton()
main_bottom1.setBackgroundResource(SystemData.main_botton_prepics[0])
doChangeCenterFrame(R.layout.main_centor)
break
case R.id.main_bottom2://合买
resetButton()
main_bottom2.setBackgroundResource(SystemData.main_botton_prepics[1])
doChangeCenterFrame(R.layout.main_tab2)
break
case R.id.main_bottom3://开奖
resetButton()
main_bottom3.setBackgroundResource(SystemData.main_botton_prepics[2])
doChangeCenterFrame(R.layout.main_tab3)
ListView lv_main_tab3_list = (ListView) findViewById(R.id.main_tab3_list)
lv_main_tab3_list.setAdapter(new CommonAdapter<Bean>(datas, MainActivity.this, R.layout.main_item_layout) {
@Override
protected void doView(MagicViewHolder mvh, Bean t) {
// TODO Auto-generated method stub
ImageView iv = (ImageView) mvh.getView(R.id.main_tab1_list_icon)
TextView title = (TextView) mvh.getView(R.id.tab1_list_title)
TextView text = (TextView) mvh.getView(R.id.tab1_list_text)
SubBean bean = (SubBean)t
iv.setImageResource(bean.getIcon())
title.setText(bean.getTitle())
text.setText(bean.getText())
}
})
break
case R.id.main_bottom4://账户
main_bottom4.setBackgroundResource(SystemData.main_botton_prepics[3])
resetButton()
doLoginAndRegister()
break
case R.id.main_bottom5:
main_bottom5.setBackgroundResource(SystemData.main_botton_prepics[4])
resetButton()
break
case R.id.main_top_zhongjiangbang://中奖榜
break
case R.id.main_top_loginAndRegister://登陆注册
doLoginAndRegister()
break
default:
break
}
}
/**
* 跳到登陆注册界面
*/
private void doLoginAndRegister() {
Intent loginRegisterIntent = new Intent(MainActivity.this, LoginAndRegisterActivity.class)
startActivity(loginRegisterIntent)
}
/**
* 顶部按钮控制中间布局改变
* @param layoutId
*/
private void doChangeCenterFrame(int layoutId){
main_center.removeAllViews()
View view = LayoutInflater.from(this).inflate(layoutId, null, false)
LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)
main_center.addView(view, params)
}
}