Her öğenin bir başlığı, açıklaması ve resmi olduğu bir web sitesinden gezinme yüklüyorum. Aynı eksen boyunca ortalanmış tüm başlıklar ve açıklamalara sahip olmak istiyorum.ImageView öğesinin maksimum genişliğini, sayfanın üst kısmının genişliğinde bir yüzde olarak ayarla
ListView'deki her öğe için aşağıdaki düzeni kullanıyorum. Görüntüler, uzun oldukları sürece yarı geniş olduğunda iyi çalışır, ancak daha genişse, metin resmin altına girer.
<?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>
o RelativeLayout genişliği veya daha az% 25'ine kalmak görüntüyü zorlamak mümkün mü?
Bunun LinearLayout.LayoutParams olması ve 0.25'in çalışmak için 0.25 olması gerektiğini düşünüyorum. – thomas88wp
@ thomas88wp Açıkçası bu kod LinearLayout.LayoutParams'ı içe aktarmayı gerektirir. Ayrıca, ondalık noktadan dolayı 0.25 ve 0.25f Java'da aynı şeydir. – Emmanuel
noktasında pişman olduğum için üzgünüm, ama java '0.25' bir çift literal ve '0.25f' bir kayan literal. Eğer bir parametre bir şamandıra gerektiriyorsa (bu durumda olduğu gibi), eğer bir çifte aktarırsanız derlemeyecektir (diğer bir deyişle, şamandıra bir çifte dolaylı olarak dökülebilir, ancak tam tersi değil). Göstermek için, public void foo (float bar) derlemeyi deneyin {foo (0.5); } '- 'f' eklenene kadar çalışmaz. – thomas88wp