如何在android导航抽屉中添加配置文件信息?
嗨,我在和安卓一起工作。我已成功将android导航抽屉添加到我的应用程序中,如g mail所示。现在我想添加一个如图所示的个人资料图片视图。我在列表项中尝试了它。但我想要更多的空间,就像图中一样..我怎么能做到这一点???请帮帮我,我对安卓系统还不熟悉 这是我的列表项代码如何在android导航抽屉中添加配置文件信息?,android,navigation,Android,Navigation,嗨,我在和安卓一起工作。我已成功将android导航抽屉添加到我的应用程序中,如g mail所示。现在我想添加一个如图所示的个人资料图片视图。我在列表项中尝试了它。但我想要更多的空间,就像图中一样..我怎么能做到这一点???请帮帮我,我对安卓系统还不熟悉 这是我的列表项代码 mTitle = mDrawerTitle = getTitle(); // load slide menu items navMenuTitles = getResources().get
mTitle = mDrawerTitle = getTitle();
// load slide menu items
navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);
// nav drawer icons from resources
navMenuIcons = getResources()
.obtainTypedArray(R.array.nav_drawer_icons);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.list_slidermenu);
navDrawerItems = new ArrayList<NavDrawerItem>();
// adding nav drawer items to array
// Home
navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));
// Find People
navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));
// Photos
navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1)));
// Communities, Will add a counter here
navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1), true, "22"));
// Pages
navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1)));
// What's hot, We will add a counter here
navDrawerItems.add(new NavDrawerItem(navMenuTitles[6], navMenuIcons.getResourceId(6, -1), true, "50+"));
// Recycle the typed array
navMenuIcons.recycle();
mDrawerList.setOnItemClickListener(new SlideMenuClickListener());
// setting the nav drawer list adapter
adapter = new NavDrawerListAdapter(getApplicationContext(),
navDrawerItems);
mDrawerList.setAdapter(adapter);
mTitle=mDrawerTitle=getTitle();
//加载幻灯片菜单项
navMenuTitles=getResources().getStringArray(R.array.nav\u抽屉\u项目);
//参考资料中的导航抽屉图标
navMenuIcons=getResources()
.obtainTypedArray(R.array.nav_drawer_图标);
mDrawerLayout=(抽屉布局)findViewById(R.id.抽屉布局);
mDrawerList=(ListView)findViewById(R.id.list\u slidermenu);
navDrawerItems=新的ArrayList();
//将导航抽屉项添加到阵列
//家
添加(新的NavDrawerItem(navMenuTitles[0],navMenuIcons.getResourceId(0,-1));
添加(新的NavDrawerItem(navMenuTitles[1],navMenuIcons.getResourceId(1,-1));
//找人
添加(新的NavDrawerItem(navMenuTitles[2],navMenuIcons.getResourceId(2,-1));
//照片
add(新的NavDrawerItem(navMenuTitles[3],navMenuIcons.getResourceId(3,-1));
//社区,将在此处添加一个计数器
添加(新的NavDrawerItem(navMenuTitles[4],navMenuIcons.getResourceId(4,-1),true,“22”);
//页数
add(新的NavDrawerItem(navMenuTitles[5],navMenuIcons.getResourceId(5,-1));
//什么是热的,我们将在这里加一个计数器
add(新的NavDrawerItem(navMenuTitles[6],navMenuIcons.getResourceId(6,-1),true,“50+”));
//回收类型化数组
navMenuIcons.recycle();
setOnItemClickListener(新的SlideMenuClickListener());
//设置导航抽屉列表适配器
适配器=新的NavDroperListAdapter(getApplicationContext(),
纳维特姆斯);
mDrawerList.setAdapter(适配器);
您还可以在NavigationDrawer中使用自定义视图,而不仅仅是listvew。因此,用你的图片和列表视图创建一个线性布局,你就会得到结果
请看一下这个SO线程:
玩得开心;) 首先,我要说的是,您需要按照重要性对信息进行排序。用户名大概是最重要的,因此他们需要看到什么才能告诉他们 a) 它们已登录并 b) 他们使用哪个帐户登录 更多信息请点击此链接
我也解决了这个问题。只需修改XML和Java中的一些代码 更改代码请遵循下面的代码。。。。。。我想我能解决你的问题
<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"
android:background="#ffffff" >
<!-- Framelayout to display Fragments -->
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- Listview to display slider menu -->
<LinearLayout
android:id="@+id/drawerll"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/drawer"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:background="@color/list_item_title"
android:gravity="center_vertical"
android:orientation="horizontal" >
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:paddingLeft="20dp"
android:src="@drawable/pic_pic" />
<LinearLayout
android:id="@+id/drawer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:background="@color/list_item_title"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Shohel Rana"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="test@gmail.com"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/list_item_title"
android:choiceMode="singleChoice"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
您可以使用FB parse,这为您提供了一种非常简单的方法来添加这些api并轻松获取详细信息。它们有简单的文档,一步一步看一看
你可以在这里阅读:我通过使用
mDrawerList.addHeaderView();
需要添加视图对象的位置是否尝试创建自定义listview?我还需要实现此功能。是否有参考示例ravi?你做了什么!?请阅读这篇文章,它可以帮助你,那么我如何才能将这个布局添加到抽屉中。如果你不介意,你可以给我举个例子,请看另一个线程中的第二个答案“这将起作用…”我得到下一个例外:“java.lang.ClassCastException:android.widget.LinearLayout$LayoutParams不能强制转换为android.support.v4.widget.DrawerLayout$LayoutParams" ... 我怎样才能解决这个问题?是的,但我做了一些修改,我得到了那个错误。。。我已经解决了。谢谢你的回答。我的问题是我用ListView关闭了NavigationDrawer,我不得不将主线布局改为主线布局。你能提供更多关于我们应该传递给此方法的参数的具体信息吗?tanx@ArefAnafgeh您需要添加视图对象。更多信息
mDrawerList.addHeaderView();