Android中的导航抽屉有一个问题。
我在Empty活动中,我需要传递给Navigation Drawer,我的代码在 空活动
final Button Login = (Button) findViewById(R.id.btnLogin);
Login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent new_from = new Intent(Login.this, MainActivity.class);
startActivity(new_from);
}
});
此代码是正确的。
抽屉类是:
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
现在,在抽屉里,问题是这一行
setSupportActionBar(toolbar);
最后一行关闭了我的申请。
PD:所有活动都在清单中。
谢谢,快乐的一天
答案 0 :(得分:0)
由于您没有提供有关此问题的所有信息,我将解决此问题,假设您没有为导航抽屉设置正确的条件,并且很可能在设置工具栏的活动和默认情况下存在冲突问题主题。
如果要以您在MainActivity(setSupportActionBar(工具栏))中编写的方式创建带有工具栏的导航抽屉,则需要更改应用主题。
您可以在清单文件中执行此操作:
android:theme="@android:style/Theme.NoTitleBar"
您也可以在res / values / styles.xml中更改它:
使用自定义主题
<style name = "AppTheme" parent = "android:Theme.Holo.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
<style name = "NoActionBar" parent = "@android:style/Theme.Holo.Light">
<item name = "android:windowActionBar">false</item>
<item name = "android:windowNoTitle">true</item>
</style>
或者只是替换主题(更好的方式来自清单):
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
如果您想以其他方式设置导航抽屉,请查看此链接以获取有关此主题的更多帮助:
StackOverflow - How to create Android Custom Striped Navigation Drawer
Android Developer
JournalDev
TeamTreeHouse
答案 1 :(得分:0)
由于您已添加工具栏并以编程方式将其设置为操作栏,因此您需要更改样式
转到清单并编辑您的抽屉活动代码,如下所示:
<activity
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
android:name=".MainActivity">
</activity>