五、微信界面

在res里边建drawable,drawable里边建selector下的sel_r.xml:

            <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <!--如果单选框被选中 就展示选中图片  -->
    <item android:state_checked="true" android:drawable="@drawable/message_true"/>
    <!-- 默认情况下展示 -->
    <item android:drawable="@drawable/message_false"/>
</selector>

在drawable-hdpi里边放两张带圈的图形
 

1.布局:

activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/radio0"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/sel_r"
            android:gravity="center"
            android:text="首页" />

        <RadioButton
            android:id="@+id/radio1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/sel_r"
            android:gravity="center"
            android:text="首页" />

        <RadioButton
            android:id="@+id/radio2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/sel_r"
            android:gravity="center"
            android:text="首页" />

        <RadioButton
            android:id="@+id/radio3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:button="@null"
            android:drawableTop="@drawable/sel_r"
            android:gravity="center"
            android:text="首页" />
    </RadioGroup>

</LinearLayout>

写四个frag.xml

2.主方法:MainActivity

package com.example.day09a_03_wechat;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;

public class MainActivity extends FragmentActivity {

    private ViewPager pager;
    private RadioGroup radioGroup;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pager = (ViewPager) findViewById(R.id.pager);
        radioGroup = (RadioGroup) findViewById(R.id.radioGroup1);
        // 设置第一个选中
        radioGroup.check(radioGroup.getChildAt(0).getId());
        // 数据
        final ArrayList<Fragment> list = new ArrayList<Fragment>();
        Frag_01 frag_01 = new Frag_01();
        Frag_02 frag_02 = new Frag_02();
        Frag_03 frag_03 = new Frag_03();
        Frag_04 frag_04 = new Frag_04();
        list.add(frag_01);
        list.add(frag_02);
        list.add(frag_03);
        list.add(frag_04);
        // 适配器
        // FragmentPagerAdapter(注意这里有参数 记得写,不然就报错了)
        pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {

            @Override
            public int getCount() {

                return list.size();
            }

            @Override
            public Fragment getItem(int arg0) {

                return list.get(arg0);
            }
        });
        // 页面切换按钮跟着切换
        pager.setOnPageChangeListener(new OnPageChangeListener() {

            @Override
            public void onPageSelected(int arg0) {
                radioGroup.check(radioGroup.getChildAt(arg0).getId());

            }

            @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

            }
        });
        // 点击按钮页面切换
        radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch (checkedId) {
                case R.id.radio0:
                    pager.setCurrentItem(0);
                    break;
                case R.id.radio1:
                    pager.setCurrentItem(1);
                    break;
                case R.id.radio2:
                    pager.setCurrentItem(2);
                    break;
                case R.id.radio3:
                    pager.setCurrentItem(3);
                    break;

                }

            }
        });

    }

}
 

3.写四个不一样的frag.java:

package com.example.day09a_03_wechat;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Frag_01 extends Fragment{

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.frag_01, container,false);
         return view ;
    }
}
 

猜你喜欢

转载自blog.csdn.net/qq_42436644/article/details/85106614
今日推荐