2016-10-21 30 views
-2

我想用自定义项目创建一个列表。因此,我创建了一个新list_item.xml像本教程: http://www.tutorialsbuzz.com/2014/03/watsapp-custom-listview-imageview-textview-baseadapter.htmlAndroid - 标题栏和动作栏消失后,自定义列表项目的xml

在我activity_main.xml中它是这个样子Android Studio中:

screenshot1

但在模拟器它显示如没有titleBar和actionBar也是如此:

screenshot2

list_item.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="2dp"> 
    <ImageView 
     android:id="@+id/profile_pic" 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:contentDescription="desc" 
     android:paddingLeft="10dp" 
     android:paddingRight="10dp" /> 

    <TextView 
     android:id="@+id/alias" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="10dp" 
     android:layout_toRightOf="@+id/profile_pic" 
     android:paddingBottom="10dp" 
     android:text="txt" 
     android:textSize="20sp" /> 

    <TextView 
     android:id="@+id/public_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="txt" 
     android:textSize="16sp" 
     android:layout_below="@+id/alias" 
     android:layout_toEndOf="@+id/profile_pic" /> 

    <TextView 
     android:id="@+id/contact_type" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="txt" 
     android:textSize="16sp" 
     android:layout_alignBottom="@+id/alias" 
     android:layout_alignParentEnd="true" /> 
</RelativeLayout> 

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <android.support.v7.widget.Toolbar 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="?attr/colorPrimary" 
      android:theme="?attr/actionBarTheme" 
      android:minHeight="?attr/actionBarSize" 
      android:id="@+id/main_toolbar" /> 

     <ImageButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      app:srcCompat="@drawable/ic_locked" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentStart="true" 
      android:layout_marginStart="13dp" 
      android:id="@+id/btn_lock" /> 

     <ListView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_below="@+id/main_toolbar" 
      android:layout_alignParentStart="true" 
      android:id="@+id/contact_list" /> 

    </RelativeLayout> 

</android.support.design.widget.CoordinatorLayout> 

的其他代码,如自定义适配器是像一些重命名变量的差别教程/ IDS。另外,我的MainActivity.java扩展了除Activity之外的AppCompatActivity。

回答

0

尝试此布局,对于协调布局内要显示的工具栏, 它必须是内部AppBarLayout(这又必须是CL的第一个孩子)

剩余内容的视图可以是具有ScrollFlags

任何布局
<android.support.design.widget.CoordinatorLayout 
     <AppbarLayout> 
       <toolbar> 
     </AppBarLayout> 
    //Main Content View 
    <RelativeLayout 
     app:scroll_flags = "@string/scrollingBehaviour"-->this is important` 
</RelativeLayout>