14
我從網站加載導航,其中每個項目都有標題,說明和圖像。我希望所有的標題和描述都集中在同一個軸上。將ImageView的最大寬度設置爲其父寬度的百分比
我在ListView中爲每個項目使用以下佈局。當圖像的寬度是高度的一半時,它可以正常工作,但如果寬度較大,則不會有效 - 文本位於圖像下方。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="horizontal">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<TextView
android:layout_height="wrap_content"
android:textSize="10pt"
android:id="@+id/title"
android:gravity="center_horizontal"
android:layout_width="fill_parent" />
<TextView
android:layout_height="wrap_content"
android:id="@+id/description"
android:layout_width="fill_parent"
android:gravity="center_horizontal" />
</LinearLayout>
<View
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="3" />
</LinearLayout>
<ImageView
android:id="@+id/icon"
android:adjustViewBounds="true"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_height="wrap_content" />
</RelativeLayout>
是否有可能迫使形象留在RelativeLayout的的寬度或更低的25%?
我相信這必須是LinearLayout.LayoutParams,並且0.25必須是0.25f才能工作。 – thomas88wp 2012-12-27 17:33:32
@ thomas88wp顯然這段代碼需要導入LinearLayout.LayoutParams。另外,由於小數點的原因,0.25和0.25f在Java中是一樣的。 – Emmanuel 2013-01-08 21:17:47
抱歉,要點,但在Java'0.25'是一個雙重字面值,'0.25f'是一個浮點數字。如果一個參數需要一個浮點數(在這種情況下),如果您將其傳遞給double,它將不會編譯(儘管其他方式可以工作,因爲float可以隱式轉換爲double而不是反之亦然)。爲了演示,試着編譯'public void foo(float bar){foo(0.5); '' - 直到你添加'f'纔會起作用。 – thomas88wp 2013-01-20 18:59:53