• 解析xml并展示数据(mainActivity)


    package com.bwie.fuxi_06a;
    
    import java.util.ArrayList;
    
    import com.bwie.adapter.MyFragAdapter;
    import com.bwie.fragment.MyFragment;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.graphics.Color;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.view.ViewPager;
    import android.support.v4.view.ViewPager.OnPageChangeListener;
    import android.util.DisplayMetrics;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.LinearLayout;
    import android.widget.RadioButton;
    import android.widget.RadioGroup;
    import android.widget.TextView;
    
    public class MainActivity extends FragmentActivity {
    
        private RadioGroup group;
        private String[] columns = new String[] { "资讯", "热点", "博客", "推荐" };
        private int width;
        private ViewPager vp;
        private ArrayList<RadioButton> list_button;
        private ArrayList<TextView> list_tv;
        private ArrayList<Fragment> list_frag;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // 获取窗口的宽度
            DisplayMetrics dm = new DisplayMetrics();
            getWindowManager().getDefaultDisplay().getMetrics(dm);
            width = dm.widthPixels;
    
            // 找控件
            findView();
    
            // 向线性布局中添加radiobutton(初始化栏目)
            setColumn();
            
            //为vp设置数据
            setdataForVp();
            
            //为vp设置适配器
            FragmentManager fm = getSupportFragmentManager();
            vp.setAdapter(new MyFragAdapter(fm, list_frag));
            setButtonColor(vp.getCurrentItem());
            setYouColor(vp.getCurrentItem());
            
            //为vp设置页面滑动监听事件
            setPagerClick();
    
        }
    
        private void setPagerClick() {
            // TODO Auto-generated method stub
            vp.setOnPageChangeListener(new OnPageChangeListener() {
                
                @Override
                public void onPageSelected(int arg0) {
                    
                    //设置文字颜色
                    setButtonColor(arg0);
                 
                    //设置游标
                    setYouColor(arg0);
                    
                }
    
            
                
                @Override
                public void onPageScrolled(int arg0, float arg1, int arg2) {
                    // TODO Auto-generated method stub
                    
                }
                
                @Override
                public void onPageScrollStateChanged(int arg0) {
                    // TODO Auto-generated method stub
                    
                }
            });
        }
    
        protected void setYouColor(int arg0) {
            // TODO Auto-generated method stub
            //将当前页面的游标显示
              TextView tv = list_tv.get(arg0);
              tv.setVisibility(View.VISIBLE);
             
            //将其他游标隐藏
            for(int i=0;i<list_tv.size();i++)
            {
                 TextView textView = list_tv.get(i);
                
                if(textView != tv)
                {
                    textView.setVisibility(View.INVISIBLE);
                }
            }
            
        }
    
        private void setdataForVp() {
             
            list_frag = new ArrayList<Fragment>();
            for(int i=0;i<columns.length;i++)
            {
                MyFragment myFragment = new MyFragment();
                
                //传值
                Bundle b = new Bundle();
                b.putString("column", columns[i]);
                myFragment.setArguments(b);
                
                list_frag.add(myFragment);
            }
            
        }
    
        private void setColumn() {
            // TODO Auto-generated method stub
             
            //创建集合存放字段
            list_button = new ArrayList<RadioButton>();
            //创建集合存放游标
            list_tv = new ArrayList<TextView>();
            
            for (int i = 0; i < columns.length; i++) {
                // 创建线性布局
                LinearLayout line = new LinearLayout(this);
                // 设置线性布局的排列方式
                line.setOrientation(1);
    
                // 1、 向线性布局添加文字
                RadioButton button = new RadioButton(this);
                button.setText(columns[i]);
                // 去除圆圈
                button.setButtonDrawable(getResources().getDrawable(
                        android.R.color.transparent));
                // 向线性布局中添加该控件
                line.addView(button);
                list_button.add(button);
    
                // 2、向线性布局中添加游标
                TextView tv_you = new TextView(this);
                tv_you.setBackgroundColor(Color.GREEN); 
                //将改游标隐藏 
                tv_you.setVisibility(View.INVISIBLE);
                // 将游标添加到线性布局中
                line.addView(tv_you);
                LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                        width / 4, LinearLayout.LayoutParams.WRAP_CONTENT);
                // 最后将线性布局添加到radioGroup中
                group.addView(line , params);
                list_tv.add(tv_you);
                
                
                //为按钮设置点击监听事件
                button.setOnClickListener(new OnClickListener() {
                    
                    @Override
                    public void onClick(View v) {
                     
                        for(int j=0;j<list_button.size();j++)
                        {
                            RadioButton radioButton = list_button.get(j);
                            if(radioButton == v)
                            {
                                //显示当前页面的vp
                                vp.setCurrentItem(j);
                            }
                        }
                    
                        
                    }
                });
    
            }
    
        }
    
        private void findView() {
            // TODO Auto-generated method stub
    
            group = (RadioGroup) findViewById(R.id.group);
            vp=(ViewPager) findViewById(R.id.vp);
        }
        
        private void setButtonColor(int arg0) {
            //将当前页面的文字变色
            RadioButton radioButton = list_button.get(arg0);
            radioButton.setTextColor(Color.GREEN);
            //将其他文字不变
            for(int i=0;i<list_button.size();i++)
            {
                RadioButton radioButton2 = list_button.get(i);
                
                if(radioButton2 != radioButton)
                {
                    radioButton2.setTextColor(Color.BLACK);
                }
            }
        }
    
    }
  • 相关阅读:
    IOS系统input输入框为readonly时, 隐藏键盘上的上下箭头
    vue2.0做移动端开发用到的相关插件和经验总结
    安卓手机输入法挡住输入框的问题
    .NET返回上一页
    多线程编程
    多线程采集
    Delphi Base64编码_解码及ZLib压缩_解压(转)
    MySQL教程97-MySQL创建索引
    MySQL教程96-MySQL索引类型
    MySQL教程95-MySQL索引 INDEX
  • 原文地址:https://www.cnblogs.com/8023-itxinde/p/5356911.html
Copyright © 2020-2023  润新知