如何从代码中创建Android中真正的小按钮?

Android默认的Button类提供了一个非常大的按钮

标题为“保存”的按钮

周围有很多浪费的空间。 现在我想创建一个非常小的按钮,它只比文本/标题略大。 如何从代码中执行此操作? 到目前为止,我发现了以下方法,但它仍然提供太大的按钮并浪费太多空间:

A.在res / layout中创建XML(smallbutton.xml):

 

  style="?android:attr/buttonStyleSmall" android:text="color" android:padding="0dp" android:layout_margin="0dp" android:textSize="8dp" android:maxHeight="2dp" android:maxWidth="2dp" /> 

B.从您的代码中膨胀并添加到视图中:

 Button pickBackColor = (Button) this.getLayoutInflater().inflate(R.layout.smalbutton,null); 

 LinearLayout linLayout = new LinearLayout(this); linLayout.addView(pickBackColor); 

现在的问题是按钮仍然太大,它占用了文本周围(在左侧,右侧,上方,下方)的太多空间。

在此处输入图像描述

任何提示如何进一步减小按钮的大小?

按钮具有最小的高度和宽度(默认情况下通常为48dp,分别为64dp)。 所以加

 android:minHeight="0dp" android:minWidth="0dp" 

得到真正的小按钮:

在此处输入图像描述

为了您的信息,Android还提供了默认样式,用于定义较小的按钮:

 style="?android:attr/buttonStyleSmall" 

您还可以根据需要修改此默认样式,并在文件styles.xml中定义自定义属性。 以下是问题中描述的修改示例:

  

然后你只需要在XML中调用它:

  

在.xml文件中…你需要将小值传递给xml文件中的layout_height和layout_width ……试试这个。

 android:layout_width="50dp" android:layout_height="50dp" 

根据您的要求更改价值……

在你的代码中尝试这个:

 pickBackColor.setWidth(VALUE); pickBackColor.setHeight(VALUE);