四、QQ页面

在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" >

    <!-- 1.修改布局为线性布局 -->
    <!-- 2.写一个帧布局 -->

    <FrameLayout
        android:id="@+id/frag"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />
    <!-- 3写 RadioGroup布局 -->

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

        <!-- android:button="@null"去掉单选框的框 -->

        <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="购物车" />

        <RadioButton
            android:id="@+id/radio4"
            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>

2.写五个不一样的frag.xml,在每个里面带上颜色,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#f00"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/button1"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

3.主方法MainActivity里边写:

package com.qy.ccc;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;

import com.qy.ccc.frag.Frag_01;
import com.qy.ccc.frag.Frag_02;
import com.qy.ccc.frag.Frag_03;
import com.qy.ccc.frag.Frag_04;
import com.qy.ccc.frag.Frag_05;

public class MainActivity extends FragmentActivity {

    private FragmentManager manager;
    private Frag_01 frag_01;
    private Frag_02 frag_02;
    private Frag_03 frag_03;
    private Frag_04 frag_04;
    private Frag_05 frag_05;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 由于用是v4包所以 要继承FragmentActivity
        RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup1);
        // 选中第一个框
        // radioGroup.getChildAt(0).getId()找选中的id
        radioGroup.check(radioGroup.getChildAt(0).getId());
        // 加载页面
        // 获取管理者
        manager = getSupportFragmentManager();
        // 开启事务
        FragmentTransaction transaction = manager.beginTransaction();
        // 创建FRagment对象
        frag_01 = new Frag_01();
        frag_02 = new Frag_02();
        frag_03 = new Frag_03();
        frag_04 = new Frag_04();
        frag_05 = new Frag_05();
        // 添加fragment
        transaction.add(R.id.frag, frag_01);
        transaction.add(R.id.frag, frag_02);
        transaction.add(R.id.frag, frag_03);
        transaction.add(R.id.frag, frag_04);
        transaction.add(R.id.frag, frag_05);
        // 隐藏展示fragment
        transaction.show(frag_01).hide(frag_02).hide(frag_03).hide(frag_04)
                .hide(frag_05);
        // 提交事务
        transaction.commit();
        //
        radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                FragmentTransaction shiwu = manager.beginTransaction();
                switch (checkedId) {
                case R.id.radio0:
                    shiwu.show(frag_01).hide(frag_02).hide(frag_03)
                            .hide(frag_04).hide(frag_05);
                    break;
                case R.id.radio1:
                    shiwu.show(frag_02).hide(frag_01).hide(frag_03)
                    .hide(frag_04).hide(frag_05);
                    break;
                case R.id.radio2:
                    shiwu.show(frag_03).hide(frag_02).hide(frag_01)
                    .hide(frag_04).hide(frag_05);
                    break;
                case R.id.radio3:
                    shiwu.show(frag_04).hide(frag_02).hide(frag_03)
                    .hide(frag_01).hide(frag_05);
                    break;
                case R.id.radio4:
                    shiwu.show(frag_05).hide(frag_02).hide(frag_03)
                    .hide(frag_04).hide(frag_01);
                    break;

                }
                shiwu.commit();
            }
        });

    }
}
4.建frag包,在frag包里写五个不一样的Frag,每个Frag里边写代码如下:

package com.qy.ccc.frag;

import com.qy.ccc.R;

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/85106222
qq