截圖張貼如下。在每一行中,最後3列不是垂直居中在它們的行中。直到屏幕顯示之後,每行的高度才知道。我不確定,但我猜我需要在顯示所有內容之後動態地查找該行的高度,然後將所有內容居中。這是正確的路線嗎?中心TextViews/ImageViews垂直未知高度 - Android
下面是這個類的XML代碼的一個截圖。
<ScrollView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="65"
android:fillViewport="true" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/q1Image"
android:layout_width="10dp"
android:layout_height="10dp" />
<TextView
android:id="@+id/q1Question"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="10sp"
android:layout_weight="48"
android:paddingLeft="5dp"
android:paddingBottom="6dp" />
<TextView
android:id="@+id/q1Answer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="10sp"
android:layout_weight="27"
android:paddingBottom="6dp" />
<TextView
android:id="@+id/q1Verse"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="10sp"
android:layout_weight="25"
android:paddingBottom="6dp" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/q2Image"
android:layout_width="10dp"
android:layout_height="10dp" />
<TextView
android:id="@+id/q2Question"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="10sp"
android:layout_weight="48"
android:paddingLeft="5dp"
android:paddingBottom="6dp"
android:paddingTop="6dp" />
<TextView
android:id="@+id/q2Answer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="10sp"
android:layout_weight="27"
android:paddingBottom="6dp"
android:paddingTop="6dp" />
<TextView
android:id="@+id/q2Verse"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="10sp"
android:layout_weight="25"
android:paddingBottom="6dp"
android:paddingTop="6dp" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#C2BEBF" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/q3Image"
android:layout_width="10dp"
android:layout_height="10dp" />
<TextView
android:id="@+id/q3Question"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="10sp"
android:layout_weight="48"
android:paddingLeft="5dp"
android:paddingBottom="6dp"
android:paddingTop="6dp" />
<TextView
android:id="@+id/q3Answer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="10sp"
android:layout_weight="27"
android:paddingBottom="6dp"
android:paddingTop="6dp" />
<TextView
android:id="@+id/q3Verse"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="10sp"
android:layout_weight="25"
android:paddingBottom="6dp"
android:paddingTop="6dp" />
</LinearLayout>
//Rows 4-10 code excluded because of repetition.
老兄,你應該在你的XML中使用ListView代替這個靜態的LinearLayout。 – Sean 2013-02-08 17:33:52
我不熟悉ListView。你能詳細說明一下嗎? – Matt 2013-02-08 17:36:17
ListView(和他的兄弟爲「AdapterView」系列:AdapterViewFlipper,ExpandableListView,Gallery,GridView,ListView,Spinner,StackView)是一個視圖,其目的是在運行時填充項目,當您有大量行或當你只在運行時知道他們的內容。 ListView爲您提供了一種簡單的方法來定義列表中的一個項目,然後用重複的項目填充該列表,這是在Adapter的幫助下完成的。閱讀更多@ web,這太棒了! – Sean 2013-02-08 17:40:43