2012-06-08 26 views
11

ben xml bir RadioGroup var ve düğmeler programlı bir şekilde oluşturulur. Düğmeler arasında program aracılığıyla aralıkları nasıl eklerim.android eklenti dolgu programlı

LayoutParams gibi bir şey olduğunu düşündüm ancak benim neslimin belirgin bir setPadding veya setMargins yöntemi ile gelmiyor.

Bu benim dolguyu uygulamak için

RadioButton currentButton = new RadioButton(context); 
      currentButton.setText(item.getLabel()); 
      currentButton.setTextColor(Color.BLACK); 

      //add padding between buttons 
      LayoutParams params = new LayoutParams(context, null); 
      params. ... ?????? 
      currentButton.setLayoutParams(params); 

cevap

19

dolgu

Normal LayoutParams yok yöntemler çalışıyordu ama görünümleri işidir. Bir RadioButton bakış bir alt sınıf olduğu için, böyle örneğin View.setPadding() kullanabilirsiniz:

currentButton.setPadding(0, 10, 0, 10); 

Bu altta üst ve 10px de 10px dolgu ekler. Eğer px (örn dp) yanında diğer birimleri kullanmak isterseniz öncelikle piksellere onları dönüştürmek için TypedValue.applyDimension() kullanabilirsiniz.

Kenar

Kenar olan alt MarginLayoutParams bazı özel LayoutParams sınıfları uygulanmaktadır. örneğin bir marj ayarlarken, belirli bir alt sınıfı kullandığınızdan emin olun yerine jenerik ViewGroup.LayoutParams ait RadioGroup.LayoutParams (Ebeveyninizin düzeni RadioGroup olduğunda). Sonra sadece MarginLayoutParams.setMargins() kullanabilirsiniz.

Örnek:

RadioGroup.LayoutParams params 
      = new RadioGroup.LayoutParams(context, null); 
params.setMargins(10, 0, 10, 0); 
currentButton.setLayoutParams(params); 
+4

Merhaba. Yukarıdaki kenar boşluklarını denedim ve işe yaramıyor. Düğmeler, diğerinin yanında basit. – Taras

+0

varsayılan dolgu değeri yaklaşık 10 olduğunu düşünüyorum, bu yüzden bunu fark etmez 10 doldurma vermek zaman, 40 gibi bazı büyük değer denemek ve bunu çalışma göreceksiniz. –