我编写了一个代码来更改按钮的minWidth,这样我就可以摆脱按钮文本周围的填充。
for(int i=0;i<26;i++){
Button alphabet = new Button(getContext());
alphabet.setText(""+(char)('A'+i));
alphabet.setMinWidth(0);
allAlphabets.addView(alphabet);
}
我在每个按钮上都有一个字母,最后动态地将它添加到布局中。由于填充,它占用了很多空间,因为我已经将最小宽度设置为0,但它仍然不起作用。它显示相同的默认按钮。 请帮忙。
答案 0 :(得分:2)
因为您希望可点击的视图看起来像带文字的按钮
您可以使用按钮或其中的cardview和textview制作xml布局
然后像这样添加:
Button alphabetButton = LayoutInflater.from(context).inflate(R.layout.alphabet_layout);
所以它比代码设计更好,它现在是一个布局,所以你可以根据需要修改布局
您也可以在alphabet_layout.xml中添加按钮
android:background="@null"
答案 1 :(得分:1)
您必须将LayoutParams
与Button alphabet
一起使用。
答案 2 :(得分:1)
请尝试设置按钮的填充,如
Button alphabet = new Button(getContext());
alphabet.setText(""+(char)('A'+i));
alphabet.setPadding(0,0,0,0);
allAlphabets.addView(alphabet);
答案 3 :(得分:0)
您可以使用以下代码进行设置:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
button.setLayoutParams(params);
button.setGravity(Gravity.CENTER_HORIZONTAL);
button.setTextSize(32);