1

アプリには数十個のボタンがあり、スタイルは から継承されていWidget.AppCompat.Buttonます。ほとんどのボタンには、仰角と状態変化のアニメーションがあります。素晴らしい。

素晴らしいとは言えないのは、いくつかのボタンにはそれほど優れた機能がないことです.

これは、機能するボタンの 1 つの例です。

<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="?attr/defaultPadding"
    android:minHeight="?attr/minTouchSize"
    android:textAppearance="?attr/textAppearanceListRowLabel" />

ボタンが機能しない場所のスニペットを次に示します

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_weight="1"
        android:minHeight="?attr/minTouchSize" />

    <Button
        android:id="@+id/button3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:minHeight="?attr/minTouchSize" />
</LinearLayout>

これらは別のレイアウトにあります。私が試したこと:

  • button1ボタンバーと同じレイアウトファイルに追加しましたが、button1引き続き機能します。
  • バーのボタンの 1 つからウェイトを削除すると、機能しません。
  • ボタンスタイルを各ボタンに明示的に配置しようとしました
  • ボタンバーを垂直レイアウトにして、ボタンを親と一致させると、うまくいきます! しかし、それは私が望むものではありません。

水平レイアウトで、これらのボタンにステート アニメーションとエレベーションを持たせたいと考えています。別名、ボタンが同じスペースを占有し、隣り合って 2 つ配置されるようにします。どうすればこれを達成できますか?

appcompat 22.2.1 を使用しています

4

1 に答える 1

0

問題はあなたの活動テーマにあると思います!!!!

ボタンのスタイルは、Activity THEME から取っていることに注意してください。あなたができることはこれです:

  1. スタイルを定義します:

    <style name="ThemeMaterialButtonColor" parent="Base.Widget.AppCompat.Button">
    <item name="colorButtonNormal">@color/md_teal_500</item></style>
    
  2. 次に、xml のボタンにこれを追加します。

    app:theme="@style/ThemeMaterialButtonColor"

于 2016-03-03T11:38:37.490 に答える