小项目之---仿微信界面

来源:互联网 发布:淘宝潮女装店铺排行榜 编辑:程序博客网 时间:2024/04/30 08:17

效果图:

这里写图片描述

只专注滑屏效果和按钮点击界面转换以及listview的实现,界面比较糙,希望大神不要取笑哈!

代码解析:

1.主activity:

public class MainActivity extends FragmentActivity {    private RadioButton mButtonweixin;    private RadioButton mButtonaddress;    private RadioButton mButtonfriend;    private RadioButton mButtonsetting;    private RadioGroup mRadioGroup;    private MyFragmentAdapter myAdapter;    private List<Fragment> mFragments;    private ViewPager mViewPager;    private Fragment1 fragment1 = new Fragment1();    private Fragment2 fragment2 = new Fragment2();    private Fragment3 fragment3 = new Fragment3();    private Fragment4 fragment4 = new Fragment4();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mButtonweixin = (RadioButton) findViewById(R.id.buttonweixin);        mButtonaddress = (RadioButton) findViewById(R.id.buttonaddress);        mButtonfriend = (RadioButton) findViewById(R.id.buttonfriend);        mButtonsetting = (RadioButton) findViewById(R.id.buttonsetting);        mRadioGroup = (RadioGroup) findViewById(R.id.radiogroup);        mViewPager = (ViewPager) findViewById(R.id.viewpager);        // mButtonweixin.setChecked(true);        mRadioGroup.check(R.id.buttonweixin);//设置默认选中的Radiobutton        init();//对fragment集合进行初始化        myAdapter = new MyFragmentAdapter(getSupportFragmentManager(),                mFragments);        mViewPager.setAdapter(myAdapter);        // mRadioGroup添加点击事件        mRadioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {            @Override            public void onCheckedChanged(RadioGroup arg0, int arg1) {// arg1即被点击的radiobutton                // TODO Auto-generated method stub                switch (arg1) {                case R.id.buttonweixin:                    mViewPager.setCurrentItem(0);// 设置按钮点击后,显示对应的的viewpager页面                    break;                case R.id.buttonaddress:                    mViewPager.setCurrentItem(1);                    break;                case R.id.buttonfriend:                    mViewPager.setCurrentItem(2);                    break;                case R.id.buttonsetting:                    mViewPager.setCurrentItem(3);                    break;                default:                    break;                }            }        });        // 为viewpager添加事件,是界面滑动改变显示界面后,按钮也响应改变        // 由于v4包比较旧,用setOnPageChangeListener,新的版本用addOnPageChangeListener        mViewPager.setOnPageChangeListener(new OnPageChangeListener() {            @Override            public void onPageSelected(int arg0) {                // TODO Auto-generated method stub                switch (arg0) {                case 0:                    mRadioGroup.check(R.id.buttonweixin);                    break;                case 1:                    mRadioGroup.check(R.id.buttonaddress);                    break;                case 2:                    mRadioGroup.check(R.id.buttonfriend);                    break;                case 3:                    mRadioGroup.check(R.id.buttonsetting);                    break;                default:                    break;                }            }            @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            }        });    }    private void init() {        // TODO Auto-generated method stub        mFragments = new ArrayList<Fragment>();        mFragments.add(fragment1);        mFragments.add(fragment2);        mFragments.add(fragment3);        mFragments.add(fragment4);    }}


界面中下方设置四个按钮,用于转换界面,界面用fragment来写,且界面采用滑动的方式(利用ViewPager),可以看到上面的效果。ViewPager这里不再详细介绍,详细见之前的文章:
实现屏幕切换、滑动-ViewPager详解(一)之——–基础知识
实现屏幕切换、滑动-ViewPager详解(二)之——–PagerTitleStrip与PagerTabStrip添加标题栏
实现屏幕切换、滑动-ViewPager详解(三)之——–使用Fragment实现ViewPager滑动

0 0
原创粉丝点击