[UPDATE]
我通过添加addHeaderView来解决问题:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTitle = mDrawerTitle = getTitle();
mPlanetTitles = getResources().getStringArray(R.array.planets_array);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.left_drawer);
LayoutInflater inflater = getLayoutInflater();
ViewGroup mTop = (ViewGroup)inflater.inflate(R.layout.header_listview_menu, mDrawerList, false);
mDrawerList.addHeaderView(mTop, null, false);
================================
我的问题很简单!
我想如何在导航栏中添加标题?
我已经为每个项目创建了带有listview(图标+文字)的导航抽屉。
非常感谢,
答案 0 :(得分:11)
您可以通过教导ListView
返回标题行以及详细信息行,以与在任何其他ListAdapter
中添加标题相同的方式执行此操作。在较低级别,这涉及覆盖getViewTypeCount()
中的getItemViewType()
和ListAdapter
等方法,并让getView()
知道行类型之间的差异。或者,使用现有的高级实施,例如https://github.com/emilsjolander/StickyListHeaders或http://code.google.com/p/android-amazing-listview/或搜索android listview headers
时找到的任何其他实施。
答案 1 :(得分:5)
将TextView
放在ListView
上方,并将其包裹在垂直LinearLayout
内。提供给ListView android:layout_weight="1"
和android:layout_height="0dip"
答案 2 :(得分:0)
也许有点晚了,但我想我有一个更简单的解决方案。在Activity的布局中,您可以添加例如LinearLayout,而不是在DrawerLayout中添加listView,您可以轻松添加分隔符和行。例如:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.astuetz.viewpager.extensions.PagerSlidingTabStrip
android:id="@+id/indicator"
android:layout_height="48dip"
android:layout_width="fill_parent"/>
<ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:orientation="vertical"
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#111">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Separator 1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="First button"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Separator 2"/>
</LinearLayout>
在Activity中,您可以将监听器添加到按钮中。
希望有所帮助!