关于如何按钮显示标准对话框按钮有很多解释 - 我遵循。我在我的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定义不同的颜色,但我想使用主题颜色。
答案 0 :(得分:0)
您需要应用背景:
android:background="?android:attr/selectableItemBackground"
实现默认的“按钮栏”风格和行为。