我正在尝试为看起来像附加图像(在 Photoshop 中制作)的列表视图项目定义布局。我应该使用什么布局?
问问题
246 次
4 回答
1
您现在只需要使用填充和边距即可。
<?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" >
<LinearLayout
android:id="@+id/gray_layout"
android:layout_width="40dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#888888"
android:layout_alignParentLeft="true"
android:gravity="center_vertical">
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="AUG"/>
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="18"/>
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="2011"/>
</LinearLayout>
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="#000088"
android:layout_toRightOf="@id/gray_layout"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="30dp"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/divider"
android:text="Title"
android:layout_marginBottom="5dp"
android:layout_alignBottom="@id/divider"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@id/divider"
android:text="18. aug 23:49"
android:layout_marginBottom="5dp"
android:layout_alignBottom="@id/divider"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/divider"
android:text="Short msg"
android:layout_marginTop="10dp"
android:layout_alignTop="@id/divider"/>
<ImageView
android:id="@+id/info_button"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:background="#ff0000"/>
<ImageView
android:id="@+id/arrow_button"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_above="@id/info_button"
android:layout_toLeftOf="@id/info_button"
android:background="#00ff00"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/arrow_button"
android:layout_toLeftOf="@id/info_button"
android:layout_alignLeft="@id/arrow_button"
android:gravity="center_horizontal"
android:text="30" />
</RelativeLayout>
于 2013-08-20T23:18:47.803 回答
1
我建议首先LinearLayout
使用水平orientation
,然后在 a 内部RelativeLayout
使用属性从左/上到右/下放置其他视图:layout_alignParentTop
, layout_alignParentBottom
,layout_alignParentLeft
等layout_alignParentRight
...
于 2013-08-20T22:21:20.467 回答
1
我建议RelativeLayout
为此使用 a 。否则,您可能会嵌套过多。我不打算编写布局,但您应该查看RelativeLayout Docs并查看您可以提供的所有可能的属性Views
。你也可能最终得到 child LinearLayout
,这没关系。但我会RelativeLayout
为父母使用。
如果您还没有决定,最好的办法是在 xml 中快速绘制出来,您认为每个人可能会怎么看ViewGroup
似乎是最有效的。有时很难说,除非您通过编写 xml 代码或至少一些伪代码来继续它。
于 2013-08-20T22:21:49.227 回答
-1
您可以嵌套多个具有不同方向的 LinearLayout 来实现此目的。
于 2013-08-20T22:12:52.383 回答