gpt4 book ai didi

android - 如何在主 fragment 中单击按钮时打开抽屉导航?

转载 作者:IT老高 更新时间:2023-10-28 23:37:02 24 4
gpt4 key购买 nike

我制作了一个带有一个 Activity 的应用程序,该 Activity 使用抽屉导航打开许多不同的 fragment 。我有操作栏抽屉切换,但它不是很明显。如果我在我的主 fragment (我的应用首次启动时出现的 fragment )的 onCreateView 中放置一个按钮,我怎样才能让它打开由我的 Activity 控制的抽屉导航?


这似乎有效。答案比我想象的要简单得多。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View fragView = inflater.inflate(R.layout.mainmenu, container, false);
button1 = (Button) fragView.findViewById(R.id.button1);
mDrawerLayout = (DrawerLayout)getActivity().findViewById(R.id.drawer_layout);
mDrawerList = (ListView)getActivity().findViewById(R.id.left_drawer);
button1.setOnClickListener(this);
return fragView;
}


@Override
public void onClick(View v) {

mDrawerLayout.openDrawer(mDrawerList);

}

感谢您的回答。

最佳答案

如果您需要打开幻灯片:

mDrawerLayout.openDrawer(Gravity.LEFT); //Edit Gravity.START need API 14

如果您需要关闭幻灯片

mDrawerLayout.closeDrawer(Gravity.LEFT); //Edit Gravity.START need API 14

示例

我的 mDrawerLayout 在这里被实例化:

mDrawerLayout = (DrawerLayout)findViewById(R.id.my_drawer_layout);

我的幻灯片状态:

mSlideState=false;

如果您需要了解幻灯片菜单的状态(关闭、打开)。使用此代码:

mDrawerLayout.setDrawerListener(new ActionBarDrawerToggle(this, 
mDrawerLayout,
R.drawable.ic_menu_slide,
0,
0){
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
mSlideState=false;//is Closed
}
@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
mSlideState=true;//is Opened
}});

终于。你可以像这样使用你的点击事件:

public void clickEventSlide(){
if(mSlideState){
mDrawerLayout.closeDrawer(Gravity.END);
}else{
mDrawerLayout.openDrawer(Gravity.END);
}}

就我而言,我的幻灯片菜单在右侧 (Gravity.END),但如果您需要它在左侧,请尝试使用 Gravity.START

关于android - 如何在主 fragment 中单击按钮时打开抽屉导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19442841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com