gpt4 book ai didi

android - 扩展抽屉导航 Activity

转载 作者:行者123 更新时间:2023-11-30 02:59:17 26 4
gpt4 key购买 nike

我有 Activity ,我们称之为 TestActivity。此 TestActivity 扩展了具有抽屉导航的 Activity。在 TestActivity 中,我想更改 NavigationDrawerToggle 并将其替换为向上箭头。

public class Test extends DashboardActivity {

private DrawerLayout navDrawerLayout;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
navDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

getActionBar().setDisplayHomeAsUpEnabled(true);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.test, menu);
return true;
}

@Override
public void onBackPressed() {
this.finish();
super.onBackPressed();
}

}

仪表板 Activity 有点长,我在那里还有一些东西,但基本上它遵循本教程:http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/

最佳答案

我认为您想要的是拥有一个使用 ActionBarDrawerToggleActivity 和另一个仍然使用 DrawerLayout 但没有切换的 Activity .在这种情况下,最简单的方法就是拥有两个“基”类。这是一个例子。

1) 实现 DrawerLayout

Activity
public class BaseDrawerActivity extends Activity {

protected DrawerLayout mDrawer;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_drawer_layout);

mDrawer = ...
}

}

2) 实现 ActionBarDrawerToggle

Activity
public class BaseDrawerToggleActivity extends BaseDrawerActivity {

private ActionBarDrawerToggle mDrawerToggle;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

mDrawerToggle = ...
mDrawer.setDrawerListener(mDrawerToggle);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}

@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
mDrawerToggle.syncState();
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mDrawerToggle.onConfigurationChanged(newConfig);
}

}

当您想使用 DrawerLayout 而不 切换子类 BaseDrawerActivity 以及当您想要使用 Activity 切换子类 BaseDrawerToggleActivity。因此,您的 TestActivity 将如下所示:

public class TestActivity extends BaseDrawerActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().setDisplayHomeAsUpEnabled(true);
}

}

关于android - 扩展抽屉导航 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22790057/

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