FrameLayout与Fragment禁止左右滑动

 
<? xml version= "1.0" encoding= "utf-8" ?>
< LinearLayout
xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: app = "http://schemas.android.com/apk/res-auto"
xmlns: tools = "http://schemas.android.com/tools"  
android :layout_width= "match_parent"  
android :layout_height= "match_parent"
android :orientation= "vertical"
tools :context= "com.example.adoptionofreplies.view.ShouYeActivity">
<!--使用FrameLayout当做盛放Fragment对象的容器-->
< FrameLayout  
android :id= "@+id/framelayout"
android :layout_width= "match_parent"
android :layout_height= "0dp"
android :layout_weight= "0.9"  
/>
<!--中间为一条分割线-->  
< View
android :background= "#DEDEDE"  
android :layout_width= "match_parent"  
android :layout_height= "1dp"/>
< RadioGroup
android :layout_width= "match_parent"
android :layout_height= "0dp"  
android :layout_weight= "0.1"  
android :id= "@+id/group"  
android :orientation= "horizontal" >
< RadioButton
android :layout_width= "0dp"
android :layout_weight= "1"  
android :layout_height= "match_parent"  
android :checked= "true"  
android :button= "@null"  
android :gravity= "center"  
android :background= "@drawable/selector"  
android :id= "@+id/but01" />
< RadioButton
android :layout_width= "0dp"
android :layout_weight= "1"
android :layout_height= "match_parent"
android :button= "@null"  
android :gravity= "center"  
android :background= "@drawable/selector1"
android :id= "@+id/but02" />
< RadioButton  
android :layout_width= "0dp"
android :layout_weight= "1"  
android :layout_height= "match_parent"  
android :button= "@null"  
android :gravity= "center"  
android :background= "@drawable/selector2"
android :id= "@+id/but03" />
< RadioButton  
android :layout_width= "0dp"  
android :layout_weight= "1"  
android :layout_height= "match_parent"
android :button= "@null"  
android :gravity= "center"  
android :background= "@drawable/selector3"  
android :id= "@+id/but04" />
< RadioButton  
android :layout_width= "0dp"
android :layout_weight= "1"
android :layout_height= "match_parent"  
android :button= "@null"  
android :gravity= "center"  
android :background= "@drawable/selector4"  
android :id= "@+id/but05" />
</ RadioGroup>
</ LinearLayout>

//主界面
public class ShouYeActivity extends AppCompatActivity implements View.OnClickListener{
   
    private RadioGroup group;
    private List<Fragment> list;
    private FrameLayout frameLayout;
    private Button but01;
    private Button but02;
    private Button but03;
    private Button but04;
    private Button but05;
    private Fragment01 fragment_1;
    private Fragment02 fragment_2;
    private Fragment03 fragment_3;
    private Fragment04 fragment_4;
    private Fragment05 fragment_5;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //        去掉TitleBar(需要放到setContentView上面)
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_shou_ye);
        frameLayout = findViewById(R.id.framelayout);
        group = findViewById(R.id.group);

        but01 = findViewById(R.id.but01);
        but02 = findViewById(R.id.but02);
        but03 = findViewById(R.id.but03);
        but04 = findViewById(R.id.but04);
        but05 = findViewById(R.id.but05);

        //创建Fragment对象及集合

        fragment_1 = new Fragment01();

        fragment_2 = new Fragment02();

        fragment_3 = new Fragment03();

        fragment_4 = new Fragment04();

        fragment_5 = new Fragment05();

        list = new ArrayList<>();
        list.add(fragment_1);
        list.add(fragment_2);
        list.add(fragment_3);
        list.add(fragment_4);
        list.add(fragment_5);


        //时设置的按钮,设置第一个按钮为默认值

        group.check(R.id.but01);

        //设置RadioGroup开始//设置按钮点击监听

        but01.setOnClickListener(this);

        but02.setOnClickListener(this);

        but03.setOnClickListener(this);

        but04.setOnClickListener(this);

        but05.setOnClickListener(this);

        //初始时向容器中添加第一个Fragment对象

        addFragment(fragment_1);




    }
    @Override

    public void finish() {

        ViewGroup viewGroup = (ViewGroup) getWindow().getDecorView();

        viewGroup.removeAllViews();

        super.finish();

    }

    //点击事件处理



    public void onClick(View v) {

        //我们根据参数的id区别不同按钮

        //不同按钮对应着不同的Fragment对象页面

        switch (v.getId()) {

            case R.id.but01:

                addFragment(fragment_1);

                break;

            case R.id.but02:

                addFragment(fragment_2);

                break;

            case R.id.but03:

                addFragment(fragment_3);

                break;

            case R.id.but04:

                addFragment(fragment_4);

                break;
            case R.id.but05:

                addFragment(fragment_5);

                break;
            default:

                break;

        }
    }
    //向Activity中添加Fragment的方法

    public void addFragment(Fragment fragment) {



        //获得Fragment管理器

        FragmentManager fragmentManager = getSupportFragmentManager();

        //使用管理器开启事务

        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

        //使用事务替换Fragment容器中Fragment对象

        fragmentTransaction.replace(R.id.framelayout,fragment);

        //提交事务,否则事务不生效

        fragmentTransaction.commit();

    }

    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值