Java 使用android actionbar
我有一个在android中制作幻灯片菜单navdrawer的代码,它是作为一个slide.jar提供的,我从互联网上的某个地方下载的,运行良好。当我单击操作栏中的图标时,抽屉滑动良好。问题是,我不想让我的操作栏滑动,但左菜单抽屉应该只在操作栏下方滑动 而且,当我点击图标时,滑动是可能的,但是如何使图标和标题成为gmail应用程序中的可点击项目。 我的代码是:Java 使用android actionbar,java,android,Java,Android,我有一个在android中制作幻灯片菜单navdrawer的代码,它是作为一个slide.jar提供的,我从互联网上的某个地方下载的,运行良好。当我单击操作栏中的图标时,抽屉滑动良好。问题是,我不想让我的操作栏滑动,但左菜单抽屉应该只在操作栏下方滑动 而且,当我点击图标时,滑动是可能的,但是如何使图标和标题成为gmail应用程序中的可点击项目。 我的代码是: @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) public class MainA
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public class MainActivity extends Activity {
SimpleSideDrawer slide_me;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar a= getActionBar();
a.setTitle("ashwin");
a.setIcon(R.drawable.ic_home);
a.setHomeButtonEnabled(true);
slide_me = new SimpleSideDrawer(this);
slide_me.setLeftBehindContentView(R.layout.left_menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
slide_me.toggleLeftDrawer();
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
}
}
提前感谢为了正确实现导航抽屉,我建议远离第三方库,因为Android提供的库可以正常工作。首先要编写的是XML布局,其中包含:
试着自己实现操作栏..不要使用库..或者研究您正在使用的库的文档您最好使用工具栏,它比传统的操作栏给您带来很多自由,如果您正在使用jermy制作的这个库,我想您可能无法实现您想要的
…它是我从internet的某个地方下载的slide.jar,运行良好。
请使用android提供的组件或经过良好测试的库。添加一个几乎没有历史记录的组件(还有一个导航抽屉!)会让你陷入麻烦。顺便说一句,你想做什么;我们试图实现的是安卓自己导航抽屉cas eof中的默认设置。为什么不使用它呢?
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--The main content view, put your content here-->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!--The navigation drawer-->
<ListView
android:id="@+id/left_drawer"
android:layout_width="304dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/white"/>
</android.support.v4.widget.DrawerLayout>
String mDrawerTitle = getTitle();
String[] nav_items = getResources().getStringArray(R.array.nav_drawer_menu_items);
DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close) {
/**
* Called when a drawer has settled in a completely closed state
*/
public void onDrawerClosed(View view) {
setTitle(mActionBarTitle);
invalidateOptionsMenu(); // Creates a call to onPrepareOptionsMenu()
}
/**
* Called when a drawer has settled in a completely open state
*/
public void onDrawerOpened(View drawerView) {
setTitle(mDrawerTitle);
invalidateOptionsMenu(); // Creates a call to onPrepareOptionsMenu()
}
};
// Set the drawerToggle as the DrawerListener
mDrawerLayout.setDrawerListener(mDrawerToggle);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
mDrawerList.setAdapter(new NavigationDrawerListAdapter(this));