帮助我实际上 2ND 图像是 iOS 导航抽屉,我想要在 android 中使用相同的抽屉,我有一个靠近它的抽屉,但不知道如何添加这样的 3D munu 边框并只在 HOME 的位置上方添加图像徽标
想要这种类型的 NAV 边框但不使用这个 Lib
play.google.com/store/apps/details?id=com.slidingmenu.example
图 1 - 制作了这个导航抽屉
图 2 - 我想要这样的导航边框
- 在 android 中就是这样的 -linkedin
www.learn2crack.com/wp-content/uploads/2014/06/device-2014-06-06-120657.png
我正在使用这样的代码
抽屉
<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"> <FrameLayout android:id="@+id/frame_container" android:layout_width="match_parent" android:background="@drawable/layerlist" android:layout_height="match_parent" /> <ListView android:id="@+id/list_slidermenu" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:choiceMode="singleChoice" android:divider="#CFCFCF" android:dividerHeight="1dp" android:listSelector="@drawable/list_selector" android:background="@color/list_background"/> </android.support.v4.widget.DrawerLayout>
添加边框
mDrawerLayout.setDrawerShadow(R.drawable.layerlist,GravityCompat.START);
R.drawable.layerlist
<?xml version="1.0" encoding="utf-8"?>
<item> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:endColor="#BFBFBF" android:startColor="#EDEDED" /> </shape> </item> <item android:right="15dp"> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="#FFFFFF" /> </shape> </item>
列表选择器
<?xml version="1.0" encoding="utf-8"?>
<item android:drawable="@drawable/list_item_bg_normal" android:state_activated="false"/> <item android:drawable="@drawable/list_item_bg_pressed" android:state_pressed="true"/> <item android:drawable="@drawable/list_item_bg_pressed" android:state_activated="true"/>
MAIN_ACTIVITY 代码
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle;
FrameLayout mainView;
mainView = (FrameLayout) findViewById(R.id.frame_container);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.list_slidermenu);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
R.drawable.overflow_icon, // nav menu toggle icon
R.string.app_name, // nav drawer open - description for
// accessibility
R.string.app_name // nav drawer close - description for
// accessibility
) {
public void onDrawerClosed(View view) {
getActionBar().setTitle(mTitle);
// calling onPrepareOptionsMenu() to show action bar icons
invalidateOptionsMenu();
}
public void onDrawerOpened(View drawerView) {
getActionBar().setTitle(mDrawerTitle);
// calling onPrepareOptionsMenu() to hide action bar icons
invalidateOptionsMenu();
}
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {
super.onDrawerSlide(drawerView, slideOffset);
float xPositionOpenDrawer = mDrawerList.getWidth();
float xPositionWindowContent = (slideOffset * xPositionOpenDrawer);
mainView.setX(xPositionWindowContent);
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);
if (savedInstanceState == null) {
// on first time display view for first nav item
displayView(0);
}
谢谢