测试的时候发现下面的首页,发现,我的这三个布局没有展示出来

测试的时候发现下面的首页,发现,我的这三个布局没有展示出来

这是我的activity_main.xml文档中的复制内容

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
       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"
       tools:context=".MainActivite">
            <RelativeLayout
                      android:id="@+id/container_content"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content">

           </RelativeLayout>

           <LinearLayout
                   android:id="@+id/container_menu"
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:orientation="horizontal"
                   android:background="#ffffff"
                   android:layout_alignParentBottom="true">
               <LinearLayout

                       android:id="@+id/menu_main"
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:orientation="vertical"
                       android:gravity="center"
                       android:layout_weight="1">
                   <ImageView
                           android:clickable="true"
                           android:layout_width="wrap_content"
                           android:layout_height="wrap_content"
                   android:background="@drawable/menu_main_icon_selector"/>
                   <TextView android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:text="首页"
                             android:textColor="#000000"/>
               </LinearLayout>

                <LinearLayout

                        android:id="@+id/menu_find"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:orientation="vertical"
                          android:gravity="center"
                        android:layout_weight="1">
                    <ImageView
                            android:clickable="true"
                            android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@drawable/menu_find_icon_selector"/>
                    <TextView android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:text="发现"
                              android:textColor="#000000"/>


                </LinearLayout>

               <LinearLayout

                       android:id="@+id/menu_me"
                       android:layout_width="wrap_content"
                       android:layout_height="wrap_content"
                       android:orientation="vertical"
                       android:gravity="center"
                       android:layout_weight="1">
                   <ImageView
                           android:clickable="true"
                           android:layout_width="wrap_content"
                           android:layout_height="wrap_content"
                           android:background="@drawable/menu_me_icon_selector"/>
                   <TextView android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:text="我的"
                             android:textColor="#000000"/>


               </LinearLayout>
           </LinearLayout>
</RelativeLayout>

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
irista23 2019-04-26 17:53:22

1、在xml中给ImageView添加id

http://img1.sycdn.imooc.com//climg/5cc2d3f50001dcf306100134.jpg

http://img1.sycdn.imooc.com//climg/5cc2d4200001bdc805040121.jpg

http://img1.sycdn.imooc.com//climg/5cc2d42f0001813804780116.jpg

2、把初始化改成ImageView的id

http://img1.sycdn.imooc.com//climg/5cc2d44a00012c4b04670187.jpg

类型别忘记修改成ImageView

http://img1.sycdn.imooc.com//climg/5cc2d46d000190ff03660103.jpg

3、onClick响应事件都需要改成ImageView的

http://img1.sycdn.imooc.com//climg/5cc2d48000011b0e05670497.jpg

另外,老师建议你可以利用在线学习的优势反复学习下这门项目课,遇到不懂的技术点都可以到问答区提问解决,这样可以更顺利的学习下面的课程。

  • 提问者 卯劲儿学 #1
    祝老师万事如意,天天开心!
    2019-04-26 17:59:09
  • irista23 回复 提问者 卯劲儿学 #2
    祝福已领取,加油丫~~
    2019-04-26 18:07:35
irista23 2019-04-26 17:14:22

1、你把所有代码中的下图红框的代码去掉,子控件设置的这个属性会抢占父容器的点击事件

http://img1.sycdn.imooc.com//climg/5cc2cb6400010d8c06670335.jpg

2、如下代码红框中应该是menu_main

http://img1.sycdn.imooc.com//climg/5cc2ce03000110a305510199.jpg

另外,注意到你的activity已经implements View.OnClickListener并且设置了setOnClickListener(this),这样就可以不用在布局中添加android:onClick属性设置了,两种方式选择一种即可。

  • 提问者 卯劲儿学 #1
    老师,谢谢你!我按照你的方法做了,该删的都删掉了,我终于可以切换页面了!但是老师还是存在一个问题:我点击图标下面汉字才能换页面,我点击3个图标(首页,发现,我的)缺没有换页,但是图标会变换颜色。我想点击上面的图标换页,而不是下面的汉字,这个怎么弄啊?感谢老师的耐心讲解!
    2019-04-26 17:29:20
  • irista23 回复 提问者 卯劲儿学 #2
    你再试试,我这里用的你代码点击图片也是可以切换的。因为你的点击事件setOnClickListener()是设置在图片和TextView包裹的线性布局上的,onClick()中也是根据线性布局的id做的切换。
    2019-04-26 17:37:24
  • 提问者 卯劲儿学 回复 irista23 #3
    只有点击下面的汉字才可以切换页面。。。。。
    2019-04-26 17:40:59
irista23 2019-04-25 18:08:26

1、布局文件是可以正常显示出底部菜单的,但是缺少关联的点击事件设置,可以为LinearLayout添加android:onClick="onClick"属性设置,这样就能响应点击事件处理了

2、java代码有误,下图红框部分的回调方式是onCreate()

http://img1.sycdn.imooc.com//climg/5cc186f1000171cf05080138.jpg

  • 提问者 卯劲儿学 #1
    报告老师!我这个改掉了!然后也添加了属性!依然点不出来!
    2019-04-26 16:47:09
  • irista23 回复 提问者 卯劲儿学 #2
    底部按钮是可以显示的吧?只是点击不响应?
    2019-04-26 16:57:15
提问者 卯劲儿学 2019-04-25 16:41:44

这是我的MainActivite.java的内容

package com.zwxx.myapplication;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.LinearLayout;
import com.zwxx.myapplication.fragment.FindFragment;
import com.zwxx.myapplication.fragment.MainFragment;
import com.zwxx.myapplication.fragment.MeFragment;

public class MainActivite extends AppCompatActivity implements View.OnClickListener{



   protected LinearLayout mMenuMain ;
   protected LinearLayout mMenuFind;
   protected LinearLayout mMenuMe;



   protected MainFragment mMainFragment=new MainFragment();
   protected FindFragment mFindFragment=new FindFragment();
   protected MeFragment mMeFragment=new MeFragment();


   protected void onCrsate(Bundle savedInstanceState){
       super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

      initView();
    //获取管理类
        this.getSupportFragmentManager()
                .beginTransaction()
                .add(R.id.container_content,mMainFragment)
                .add(R.id.container_content,mFindFragment)
                .hide(mFindFragment)
                .add(R.id.container_content,mMeFragment)
                .hide(mMeFragment)

                .commit();


   }
        //初始化视图
           public void initView(){
               mMenuMain = this.findViewById(R.id.menu_find);
               mMenuFind =  this.findViewById(R.id.menu_find);
               mMenuMe = this.findViewById(R.id.menu_me);
               mMenuMain.setOnClickListener(this);
               mMenuFind.setOnClickListener(this);
               mMenuMe.setOnClickListener(this);

         }


   @Override
   public void onClick(View view) {
       switch (view.getId()){
           case R.id.menu_main://首页
               this.getSupportFragmentManager()
                       .beginTransaction()
                       .show(mMainFragment)
                       .hide(mFindFragment)
                       .hide(mMeFragment)

                       .commit();
               break;
           case R.id.menu_find://发现
               this.getSupportFragmentManager()
                       .beginTransaction()
                       .hide(mMainFragment)
                       .show(mFindFragment)
                       .hide(mMeFragment).commit();
               break;
           case R.id.menu_me://我的
               this.getSupportFragmentManager()
                       .beginTransaction()
                       .hide(mMainFragment)
                       .hide(mFindFragment)
                       .show(mMeFragment).commit();

               break;

       }
   }
}

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师