AndroidのデフォルトのButtonクラスは、非常に大きなボタンを提供します。
周辺には多くの無駄なスペースがあります。ここで、テキスト/キャプションよりもわずかに大きい、本当に小さなボタンを作成します。コードからこれを行う方法は?これまでのところ、次の方法を見つけましたが、それでもボタンが大きすぎてスペースを無駄にしています。
A. res/layoutでXML(smallbutton.xml)を作成します。
<?xml version="1.0" encoding="utf-8"?>
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でカスタム属性を定義することもできます。以下は、質問で説明されている変更を加えた例です。
<style name="MyButtonStyleSmall" parent="Android:Widget.Button.Small">
<!-- Customizations -->
<item name="Android:minHeight">0dp</item>
<item name="Android:minWidth">0dp</item>
</style>
次に、XMLで呼び出すだけです。
<Button
Android:id="@+id/small_button"
Android:text="@string/example"
Android:contentDescription="@string/example_desc"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
style="@style/MyButtonStyleSmall" />
あなたのコードでこれを試してください:
pickBackColor.setWidth(VALUE);
pickBackColor.setHeight(VALUE);
.xmlファイルで... xmlファイルのlayout_heightとlayout_widthに小さな値を渡す必要があります......これを試してください。
Android:layout_width="50dp" Android:layout_height="50dp"
要件に応じて値を変更...