我想在我的Android应用中显示包含游戏分数的列表。列表应如下所示:
正如您在上图所示,我每行有5个视图元素:
元素2,3和4应该始终位于行的中间,以便游戏的冒号和旗帜直接在彼此之上/之下,而团队名称的长度可以变化。
到目前为止,我已经尝试过RelativeLayout,TableLayout和LinearLayouts,但找不到可行的解决方案。
达到令人满意的布局的最佳方法是什么?布局应该适用于Android 1.6,垂直和水平方向。
答案 0 :(得分:2)
一行看起来像这样:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="4"
android:gravity="center_vertical|right"
android:text="Team A" />
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:gravity="center"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1 : 2" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon" />
</LinearLayout>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="4"
android:gravity="center_vertical|left"
android:text="Team B" />
</LinearLayout>
如果中心对象与两侧的比率不正确,请尝试更改layout_weight
的值。
答案 1 :(得分:0)
customAdapter的listItem.xml可以是:
<RelativeLayot>
<TextView TeamA alignParentLeft />
<RelativeLayot alignParentcenter>
<ImageView flag1 alignParentLeft />
<TextView 1.2 alignParentcenter />
<ImageView flag2 alignParentRight />
</RelativeLayot>
<TextView TeamB alignParentReight/>
</RelativeLayot>
答案 2 :(得分:0)
在摆弄RelativeLayouts之后,我设法找到了以下在纵向和横向模式下工作的解决方案。
<RelativeLayout
android:id="@+id/mainlayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/headerLayout"
android:layout_centerVertical="true"
android:layout_marginBottom="5dip"
android:layout_marginTop="5dip" >
<TextView
android:id="@+id/teamAName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/innerlayout"
android:gravity="center_vertical|right"
android:text="Team A"
android:textColor="@color/black"
android:textSize="12dip"
android:textStyle="bold" />
<RelativeLayout
android:id="@id/innerlayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:paddingLeft="6dip"
android:paddingRight="6dip" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/score"
android:src="@drawable/de" />
<TextView
android:id="@id/score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginLeft="6dip"
android:layout_marginRight="6dip"
android:background="@drawable/scorebox"
android:paddingLeft="6dip"
android:paddingRight="6dip"
android:text="18:00"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/white"
android:textStyle="bold" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/score"
android:src="@drawable/de" />
</RelativeLayout>
<TextView
android:id="@+id/teamBName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/innerlayout"
android:gravity="center_vertical"
android:text="Team B"
android:textColor="@color/black"
android:textSize="12dip"
android:textStyle="bold" />
</RelativeLayout>
答案 3 :(得分:-1)
试试吧朋友:
<LinearLayout
android:id="@+id/linearLayoutRow"
android:layout_width="fill_parent"
android:layout_height="50dp" >
<LinearLayout
android:id="@+id/linearLayoutTeam1"
android:layout_width="85dp"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayoutFlag1"
android:layout_width="50dp"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayoutScore"
android:layout_width="50dp"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayoutFlag2"
android:layout_width="50dp"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayoutTeam2"
android:layout_width="85dp"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
</LinearLayout>
并编辑XXdp;)