如何在主片段点击按钮打开抽屉式导航栏? [英] How to open navigation drawer on button click in main fragment?

查看:203
本文介绍了如何在主片段点击按钮打开抽屉式导航栏?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我与它采用了抽屉式导航栏中打开多个不同的片段中的一个活动的应用程序。我有动作条drawertoggle,但不是很明显。
如果我把在onCreateView一个按钮,在我的主要片段(当我的应用程序第一次启动时出现的片段),我怎样才能得到它来打开我的活动控制的抽屉式导航栏?

I have made an app with one activity which uses a navigation drawer to open a number of different fragments. I have the actionbar drawertoggle, but it is not very visible. If I place a button in the onCreateView in my main fragment(the fragment that appears when my app first starts up), how can I get it to open the navigation drawer controlled by my activity?

这似乎工作。答案是比我想象的要简单多了。

This seems to work. The answer is much simpler than I thought it would be.

@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.End need API 14

如果您需要在合上滑盖

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

示例

我mDrawerLayout这里实例化:

my mDrawerLayout is instanced here:

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

我的滑动状态:

mSlideState=false;

如果您需要了解滑菜单状态(关闭,打开)。使用此code:

if you need to know the slide menu state (closed, opened). Use this code:

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
}});

最后。您可以使用Click事件是这样的:

finally. You can use your click event like this:

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

在我的情况我的幻灯片菜单是在正确的(Gravity.END),但如果您需要在左边,试图用Gravity.START

in my case my slide menu is at the right (Gravity.END), but if you need on the left, try with Gravity.START

这对我的工作,我希望解决你的问题。

This work for me, I hope solved your problem.

这篇关于如何在主片段点击按钮打开抽屉式导航栏?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆