我的自定义ListView中有3个texviews。每行中的每个TextView都有不同的长度(在屏幕上,最大长度为1 - 3,另外两个 - 14)。
如何将它们排成一行?
我的布局:
string url = "https://maps.googleapis.com/maps/api/geocode/xml?address=" + area + "," + City + "&Key=ABZIXXXXXXXXXXXXXXXXXXXXXXXXXXX"
答案 0 :(得分:4)
详细了解layout weight。
您可以使用以下示例代码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
答案 1 :(得分:0)
请看这个.......
<?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:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:layout_marginLeft="15dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="left"
android:gravity="center"
android:layout_weight="2"
android:id="@+id/leftTv" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="center"
android:gravity="center"
android:layout_weight="2"
android:id="@+id/centerTv" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="right"
android:gravity="center"
android:layout_weight="2"
android:id="@+id/rightTv" />
</LinearLayout>
</RelativeLayout>
答案 2 :(得分:0)
使用LinearLayout而不是RelativeLayout。
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="New Text"
android:layout_weight="1"
android:id="@+id/number_calls_tv"
android:singleLine="true"
android:maxLines="1" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/time_calls_tv"
android:singleLine="true"
android:layout_weight="1"
android:maxLines="1"
android:layout_marginLeft="42dp"
android:layout_marginStart="42dp"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/number_calls_tv"
android:layout_toEndOf="@+id/number_calls_tv" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="New Text"
android:layout_weight="1"
android:id="@+id/break_calls_tv"
android:singleLine="true"
android:maxLines="1"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/time_calls_tv"
android:layout_toEndOf="@+id/time_calls_tv"
android:layout_marginLeft="59dp"
android:layout_marginStart="59dp" />
</LinearLayout>
答案 3 :(得分:0)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/number_calls_tv"
android:singleLine="true"
android:maxLines="1"
android:layout_weight="1"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/time_calls_tv"
android:singleLine="true"
android:maxLines="1"
android:layout_weight="1" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/break_calls_tv"
android:singleLine="true"
android:maxLines="1"
android:layout_weight="1"/>
你可以玩权重来获得所需的确切尺寸
答案 4 :(得分:0)
您也可以在不使用线性布局的情况下尝试此操作
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp">
<TextView
android:id="@+id/number_calls_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:singleLine="true"
android:text="New Text" />
<TextView
android:id="@+id/time_calls_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_toRightOf="@id/number_calls_tv"
android:maxLines="1"
android:singleLine="true"
android:text="New Text" />
<TextView
android:id="@+id/break_calls_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:maxLines="1"
android:singleLine="true"
android:text="New Text" />
</RelativeLayout>