标题解释了这一切。我所要做的就是知道导航抽屉是否打开。我在网上搜索了很多次,找到了isDrawerOpen(int drawerGravity)
方法,但没有找到一个令人满意的答案来解释如何在方法中使用它。如果有人能给我解释一下,我将不胜感激。
提前感谢!
发布于 2014-02-08 01:17:04
假设您已经在xml中定义了一个drawerlayout:
DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
...
if(mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
//drawer is open
}
发布于 2014-02-08 01:17:42
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerToggle = new ActionBarDrawerToggle(
this, /* host Activity */
mDrawerLayout, /* DrawerLayout object */
R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */
R.string.drawer_open, /* "open drawer" description */
R.string.drawer_close /* "close drawer" description */
) {
/** Called when a drawer has settled in a completely closed state. */
public void onDrawerClosed(View view) {
super.onDrawerClosed(view);
getActionBar().setTitle(mTitle);
}
/** Called when a drawer has settled in a completely open state. */
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
getActionBar().setTitle(mDrawerTitle);
}
};
// Set the drawer toggle as the DrawerListener
mDrawerLayout.setDrawerListener(mDrawerToggle);
监听器使用:)
发布于 2017-12-07 14:42:18
通过以下方法,您可以发现抽屉是打开的或关闭的。
public class YourActivity extends AppCompatActivity implements DrawerLayout.DrawerListener {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dash_board);
DrawerLayout drawer=(DrawerLayout)findViewById(R.id.container);
drawer.setDrawerListener(this);
}//onCreate()
@Override
public void onDrawerOpened(View arg0) {
//write your code
}
@Override
public void onDrawerClosed(View arg0) {
//write your code
}
@Override
public void onDrawerSlide(View arg0, float arg1) {
//write your code
}
@Override
public void onDrawerStateChanged(int arg0) {
//write your code
}
}//class
https://stackoverflow.com/questions/21633791
复制相似问题