2016-08-01 17 views
0

我想在一个具有图像,线性布局内的两个文本视图和另一个图像的Android应用程序中放置视图。它的样式像列表视图'单元格',让我想知道创建Android标准列表项目组件的最佳方式是什么。 Android的风格指南在讨论这些组件的外观时非常具体,但是关于如何一致地再现这些组件的指导原则并不多。Android中三列表组件的标准布局是什么?

例如,我基本上是试图重新此单元格: enter image description here

是否有这些细胞的任何标准布局?如果不是,你会说什么是处理这种单元布局的最好方法?

目前我遇到的问题是,做这样的事情:

<LinearLayout> 
    <ImageView/> 
    <LinearLayout> 
     <TextView/> 
     <TextView/> 
    </LinearLayout> 
    <ImageView/> 
</LinearLayout> 

从未展示第二张图像显示。

对此提出建议?无论是在我的具体情况还是在标准布局?

更新

我有我的看法工作。正如有人建议的那样,它的重量是LinearLayout。到底要得到它的工作我有两个ImageView s的权重为1,和内部LinearLayout权重为0。

很抱歉,如果这是一个初学者的话题很长的问题 - 离开它为问题的更一般的部分 - 标准组件的标准布局。 (也许Stack Overflow的新文档部分的候选人。)

+0

*永远不会显示第二个ImageView * - 为什么不呢?你的重量总和设置不正确吗? –

回答

1

谷歌并没有真正经历并为许多这些Material Design规范制定标准布局。

这里的基础上,规范的布局,让你开始:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="88dp"> 

    <ImageView 
     android:id="@+id/image_view" 
     android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:layout_centerVertical="true" 
     android:layout_marginLeft="16dp" 
     android:layout_marginStart="16dp" 
     android:layout_marginTop="20dp" 
     tools:src="@drawable/ic_error_white_24dp"/> 

    <TextView 
     android:id="@+id/text_view1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="72dp" 
     android:layout_marginStart="72dp" 
     android:layout_marginRight="56dp" 
     android:layout_marginEnd="56dp" 
     android:layout_marginTop="16dp" 
     android:maxLines="1" 
     android:textSize="16sp" 
     android:textColor="?android:attr/textColorPrimary" 
     tools:text="This is the title line"/> 

    <TextView 
     android:id="@+id/text_view2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_below="@+id/text_view1" 
     android:layout_marginLeft="72dp" 
     android:layout_marginStart="72dp" 
     android:layout_marginRight="56dp" 
     android:layout_marginEnd="56dp" 
     android:maxLines="1" 
     android:textSize="14sp" 
     android:textColor="?android:attr/textColorSecondary" 
     tools:text="This is the second line"/> 

    <TextView 
     android:id="@+id/text_view3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_below="@+id/text_view2" 
     android:layout_marginLeft="72dp" 
     android:layout_marginStart="72dp" 
     android:layout_marginRight="56dp" 
     android:layout_marginEnd="56dp" 
     android:maxLines="1" 
     android:textSize="14sp" 
     android:textColor="?android:attr/textColorSecondary" 
     tools:text="This is the third line"/> 

    <ImageView 
     android:id="@+id/image_view_2" 
     android:layout_width="24dp" 
     android:layout_height="24dp" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginRight="16dp" 
     android:layout_marginEnd="16dp" 
     android:layout_marginTop="20dp" 
     tools:src="@drawable/ic_error_white_24dp"/> 

</RelativeLayout> 

请注意,我没有使用维值和文本样式;这是你可以经历和做的事情。这只是为了让你走上正轨。