1

我有一个问题...我想显示代表字母的按钮列表。就像是:

[a] [b] [c] [d] [e] ....

问题是按钮非常小,并且由于按钮对象的填充而导致文本被截断。有没有办法总是在按钮顶部显示按钮的文本,所以它不会被切断?

我唯一的选择似乎是创建模仿按钮的 JPEG。但这一点都不优雅。

另一种选择是在按钮顶部显示一个 TextView,这可能比以前的选择更优雅一些。

for (...) {
   Button buton = new Button(Activity.this);
   LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT, 1);
   int margin = (int) Math.round(5 * SCALE);
   layoutParams.setMargins(margin, margin, margin, margin);
   buton.setLayoutParams(layoutParams);
   buton.setOnClickListener(new View.OnClickListener() { ... }
   (...)
   linearLayout.add(buton)
}

我应该怎么办?

编辑:我以编程方式在 LinearLayout(水平)中创建所有按钮。我不知道按钮的数量,所以这就是我设置权重的原因。而且我的目标 API 至少为 8 (2.2)。

4

1 回答 1

0

您可以手动添加填充..您还可以设置按钮的宽度和高度,这样文本就不会消失..像这样

    <Button
        android:id="@+id/button1"
        android:layout_width="150dip"
        android:layout_height="150dip"
        android:text="This is a short text" />

或者您可以像这样更改边距

<Button
    android:layout_marginLeft="-3dip"
    android:layout_marginRight="-3dip"
    ... />
于 2013-08-06T12:23:46.833 回答