在某个fragment中隐藏mian_activity.xml中添加的toolbar控件
请问老师这个应该怎么做到呢?是在fragment的class文件中操作还是在mainActivity的class文件中操作呢,又该用什么语句呢
//mainframent
public class MainFragment extends Fragment{
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.mainfragment,container,false);
}
}
//mainActivity
class linerclick implements View.OnClickListener{
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.menu_main://首页
getSupportFragmentManager()
.beginTransaction()
.show(mMainFragment)
.hide(shopFragment)
.hide(mapFragment)
.hide(mMeFragment)
.commit();
break;
//mainActivity的布局文件
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
/>
在此谢谢老师!
正在回答
如果你要实现点击底部菜单项隐藏的话不能放在fragment的onActivityCreated()方法中,这个是加载时调用的。你只能放在父类Activity中,在底部菜单选项点击事件中,编写类似处理。tb为Toolbar。
你要想在fragment中处理,就要在fragment中找到底部按钮的点击事件,在里面去设置显示模式,简单处理方式是我最上面给你参考代码,在父Activity中的找到底部菜单每一项的点击事件在其中设置显示模式。
@Override public void onClick(View view) { switch (view.getId()){ case R.id.menu_main://首页 tb.setVisibility(View.VISIBLE); this.getSupportFragmentManager() .beginTransaction() .show(mMainFragment) .hide(mFindFragmenr) .hide(mMeFragment) .commit(); break; case R.id.menu_find://发现 tb.setVisibility(View.GONE); this.getSupportFragmentManager() .beginTransaction() .hide(mMainFragment) .show(mFindFragmenr) .hide(mMeFragment) .commit(); break; case R.id.menu_me://我的 tb.setVisibility(View.VISIBLE); this.getSupportFragmentManager() .beginTransaction() .hide(mMainFragment) .hide(mFindFragmenr) .show(mMeFragment) .commit(); break; } }
public class MainFragment extends Fragment{
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.mainfragment,container,false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Toolbar toolbar =(Toolbar)getActivity().findViewById(R.id.toolbar);
toolbar.hideOverflowMenu();
}
}
隐藏掉上面这个toolbar
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星