2013-12-11 6 views
6

Farklı yerleşimlerim var. Bazıları xml tarafından yaratılmıştır. Bazıları kod aracılığıyla dinamically. Xml'deyken "wrap_content" değeriyle genişlik veya yükseklik ayarlayabilirim. Aynı sonucu nasıl dinamik olarak alırım? Bu benim dinamic TextView'ın pasajı. "Son int width = 440;" öğesini kaldırmam gerekiyor ve aynı "wrap_content" değerini al. Nasıl?Android: set_width = "match_parent" kodu nasıl ayarlanır?

final int width = 440; 
    final int height = textViewHeight; 
    final int top = getNewTop(height); 

    FrameLayout.LayoutParams layoutParams; 
    layoutParams = getLayoutParams(width, height, top); 

    TextView textView; 
    textView = new TextView(_registerNewMealActivity); 
    textView.setText(text); 
    textView.setLayoutParams(layoutParams); 

    _frameLayout.addView(textView); 
+0

Sen google wrap_content bakınız >>> deneyin? – sensorario

cevap

4

olarak aşağıda deneyin:

FrameLayout.LayoutParams layoutParams; 
layoutParams = getLayoutParams(LayoutParams.WRAP_CONTENT, height, top); 

    TextView textView; 
textView = new TextView(_registerNewMealActivity); 
textView.setText(text); 
textView.setLayoutParams(layoutParams); 
2

Sen kullanabilirsiniz width

8

için FrameLayout.LayoutParams.WRAP_CONTENT kullanabilirsiniz: Böyle bir şey yapabiliriz

textView.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, height));

+1

+1 FrameLayout ve değil RelativeLayout belirtmek için + – Arunkumar

+0

@ArunkumarSharma: nasıl bir farklı olmalıdır, gerçekten, ben her zaman gerçekten ben, ben bir ithalat gerekir veya LayoutParams kullanırken, ya da herhangi bir bağlantı veya post önerebilirsiniz eğer gerçekten karışık olduğunu söyleyebilirim. – DroidDev

+0

@VishwasSharma 'LayoutParams, ebeveynlerine nasıl dağıtılmak istediklerini anlatmak için görüşlere göre kullanılmaktadır. '[Bu Göster] (http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html) – SilentKiller

0

.

RelativeLayout.LayoutParams flparams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,(int)height); 
      youlayoutname.setLayoutParams(flparams); 
-1

bu

layoutParams.getLayoutParams().width = 20; 
İlgili konular