web-dev-qa-db-ja.com

Buttonへのマテリアルボタンのサイズの違い

私は新しいアプリケーションを設定して、素材ボタンの高さが私が設定したサイズと一致しないという事実に遭遇しました。だから私は通常のボタンを試してみました、そしてあなたが下のスクリーンショットで見ることができます。ボタンは、コードで見ることができるのと同じ高さを取得しますが、さまざまな高さがあります。

MaterialButtonで通常の高さを得るにはどうすればいいですか?

ありがとうございました。

パブリッククラスのMainActivityはアプリケーションコンタクト性を拡張します。

MaterialButton materialButton;
Button button;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LinearLayout linearLayout = new LinearLayout(this);
    linearLayout.setId(getGeneratedId());

    setContentView(linearLayout);

    int buttonWidth = getResources().getDimensionPixelSize(R.dimen.buttonWidth);
    int buttonHeight = getResources().getDimensionPixelSize(R.dimen.buttonHeight);

    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(buttonWidth, buttonHeight);

    materialButton = new MaterialButton(this);
    materialButton.setId(getGeneratedId());
    materialButton.setLayoutParams(layoutParams);
    materialButton.setBackgroundColor(Color.BLUE);
    materialButton.setText("MatrialB");
    materialButton.setTextColor(Color.WHITE);


    button = new Button(this);
    button.setId(getGeneratedId());
    button.setLayoutParams(layoutParams);
    button.setBackgroundColor(Color.RED);
    button.setText("Button");
    button.setTextColor(Color.WHITE);

    linearLayout.addView(materialButton);
    linearLayout.addView(button);
    
}

Integer getGeneratedId() {
    return ViewCompat.generateViewId();
}
 _

}

Screenshot

12
Apache

MaterialButtoninsetBottominsetTopのデフォルトスタイルは、6dpの値を持ちます。

垂直インスセットなしで違いを確認できます。

enter image description here

デフォルトを変更できます。

<com.google.Android.material.button.MaterialButton
    Android:insetTop="0dp"
    Android:insetBottom="0dp"

またはプログラム的に(少なくとも1.3.0-alpha03が必要です)で:

    button.insetTop = 0
    button.insetBottom = 0
3