仿乐透购彩app(7)

85 阅读1分钟

仿乐透购彩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; i < SystemData.main_tab1_list_icons.length; i++) {
            //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; i < listAdapter.getCount(); i++) {
            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);
    }
}