2010-09-13 18 views
7

Yatay LinearLayout benim maksimum genişliğini nasıl ayarlayabilirim? Dolayısıyla, içerikler kısasa (bazı metinler), düzen küçülür ve içerikler daha uzunsa, bazı maksimum genişlik değerlerinden daha fazla genişlemez.LinearLayout için maksimum genişlik ayarlama

Bunu XML düzeyinde yapmayı tercih ediyorum.

+0

[buradan] söylediklerime bakınız (http://stackoverflow.com/a/8619442/236743) Bir ViewGroup alt sınıfının kullanıldığı başka bir yaklaşım için – Dori

cevap

7

Bu öyle - Ben beyond what was suggested in prior answer içeriği ve üst düzen arasında bir sarmalayıcı Başka bir düzen (@+id/TheLayout) eklemektir gerekeni:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:paddingLeft="100dip" 
android:paddingRight="100dip"> 
<LinearLayout android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/TheLayout" 
    android:layout_gravity="right"> 
    <TextView android:id="@+id/TextView01" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:layout_weight="1" 
     android:text="this is my text." 
     android:layout_gravity="center_vertical"> 
    </TextView> 
    <ImageView android:id="@+id/ImageView01" 
     android:layout_height="wrap_content" 
     android:background="@drawable/icon" 
     android:layout_width="fill_parent"> 
    </ImageView> 
</LinearLayout> 
</LinearLayout> 
+0

Güzel! Bir çekicilik gibi çalışmak. –

0
@Override 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
    int widthMaxSpec = MeasureSpec.makeMeasureSpec(270 /*pixels*/, MeasureSpec.AT_MOST); 
    super.onMeasure(widthMaxSpec, heightMeasureSpec); 
} 
+0

SO'ya hoş geldiniz, kodunuzun neden problemini çözeceğini açıklamanız yeterlidir, teşekkürler. –

İlgili konular