2017-01-05 15 views
6

Napisałem kod, aby zmienić minimalną szerokość przycisku, aby pozbyć się wypełnienia wokół tekstu przycisku.Nie usuwając wyściółki wokół tekstu przycisku

for(int i=0;i<26;i++){ 
    Button alphabet = new Button(getContext()); 
    alphabet.setText(""+(char)('A'+i)); 
    alphabet.setMinWidth(0); 
    allAlphabets.addView(alphabet); 
} 

Mam list w każdym przycisku i na koniec dodam go do układu dynamicznie. Ze względu na wypełnienie zajmuje dużo miejsca, z powodu którego ustawiłem minimalną szerokość na 0, ale nadal nie działa. Pokazuje ten sam domyślny przycisk. Proszę o pomoc.

Odpowiedz

1

Musisz złożyć LayoutParams ze swoim Button alphabet.

+0

możesz rozwinąć trochę z przykładowym kodem. – Santanu

1

pls spróbować ustawić dopełnienie przycisku jak

Button alphabet = new Button(getContext()); 
       alphabet.setText(""+(char)('A'+i)); 
       alphabet.setPadding(0,0,0,0); 
       allAlphabets.addView(alphabet); 
+0

Nie działa ... tak samo jak poprzednio. – Santanu

2

jak chcesz klikalny widok wyglądać przycisk z tekstem

można zrobić układ xml z przyciskiem lub cardview i TextView wewnątrz niego

następnie dodać go tak:

Button alphabetButton = LayoutInflater.from(context).inflate(R.layout.alphabet_layout); 

więc lepiej niż Konstrukcja kodu teraz to jest układ, dzięki czemu można zmodyfikować układ, jak chcesz

również można dodać do przycisku w alphabet_layout.xml

android:background="@null" 
+1

pobieranie nie może rozwiązać metody inflate (int) – Santanu

+0

dodaj import android.view.LayoutInflater; – amorenew

0

można ustawić za pomocą poniższego kodu:

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 
      LayoutParams.WRAP_CONTENT); 
button.setLayoutParams(params); 
button.setGravity(Gravity.CENTER_HORIZONTAL); 
button.setTextSize(32); 
Powiązane problemy