ButtonBarButtonStyle的按钮在触摸时不会突出显示

时间:2015-11-10 12:06:06

标签: android android-layout android-styles

关于如何按钮显示标准对话框按钮有很多解释 - 我遵循。我在我的xml中有这个:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:divider="?android:attr/dividerVertical"
    style="?android:attr/buttonBarStyle"
    android:showDividers="middle"
    android:measureWithLargestChild="true">

    <Button
        android:id="@+id/button_cancel"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        style="?android:attr/buttonBarButtonStyle"
        android:background="@drawable/dialog_button"
        android:text="@string/button_cancel" />

    <Button
        android:id="@+id/button_ok"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="4"
        style="?android:attr/buttonBarButtonStyle"
        android:background="@drawable/dialog_button"
        android:text="@string/button_ok" />

</LinearLayout>

这非常有效,可以产生我需要的视觉设计。但是,当我触摸按钮时,它们不会突出显示。这很烦人,因为其他一切都应该是应有的。似乎buttonBarButtonStyle不包括按钮的不同状态的状态drawable。是否有一种简单的方法可以重新获得亮点?

当然,我可以定义自己的状态drawable定义不同的颜色,但我想使用主题颜色。

1 个答案:

答案 0 :(得分:0)

您需要应用背景:

android:background="?android:attr/selectableItemBackground"

实现默认的“按钮栏”风格和行为。