SORU
17 Aralık 2010, Cuma


Bir Görünümü Sağ kenar Boşluğu Programlı olarak değiştirmek?

Bu öznitelik Java kod dinamik olarak değiştirilebilir mi?

android:layout_marginRight

** 4, konumunu sola bazı piksel değiştirmek için bir dinamik var.

Nasıl bu program aracılığıyla yapmak?

CEVAP
17 Aralık 2010, Cuma


EDİT: düzen türüne bağlı olmayan, bunu daha genel BİR yolu (boşlukları destekleyen bir düzen türü olduğunu dışında):

public static void setMargins (View v, int l, int t, int r, int b) {
    if (v.getLayoutParams() instanceof ViewGroup.MarginLayoutParams) {
        ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
        p.setMargins(l, t, r, b);
        v.requestLayout();
    }
}

TextView için belgeleri kontrol etmelisiniz. Temelde, TextView. LayoutParams nesne almak isteyeceksiniz, ve kenar boşluklarını değiştirmek, TextView geri ayarlayın. Bir LinearLayout içinde olduğunu varsayarak, böyle bir şey deneyin:

TextView tv = (TextView)findViewById(R.id.my_text_view);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)tv.getLayoutParams();
params.setMargins(0, 0, 10, 0); //substitute parameters for left, top, right, bottom
tv.setLayoutParams(params);

Benim döküm biraz kapalı olabilir o zaman hemen şimdi test edemem, ama LayoutParams marjı değiştirmek için değiştirilmesi gerekir.

NOT

Eğer TextView içinde ise unutmayın ki, örneğin, bir RelativeLayoutkullanmak gerekirRelativeLayout.LayoutParamsyerine LinearLayout.LayoutParams

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • Krumme1996

    Krumme1996

    21 EYLÜL 2009
  • Crossover

    Crossover

    18 HAZİRAN 2007