我想在Alertdialog
改變顏色正按鈕,在這裏是我在做什麼如下:
// style.xml
<style name="AlertDialogCustom" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:buttonBarPositiveButtonStyle">@style/positive</item>
</style>
<style name="positive">
<item name="android:textColor">@color/accent</item>
</style>
我用的是風格通過:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.AlertDialogCustom);
但什麼我正在做的不工作,我只是想改變正面的按鈕顏色。我不想在java代碼中改變按鈕的顏色。
在此先感謝:-)
編輯-1 Alertdialog佈局XML
<android.support.v7.internal.widget.ButtonBarLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/buttonPanel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layoutDirection="locale"
android:orientation="horizontal"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:paddingTop="4dp"
android:paddingBottom="4dp"
android:gravity="bottom"
app:allowStacking="@bool/abc_allow_stacked_button_bar"
style="?attr/buttonBarStyle">
<Button
android:id="@android:id/button3"
style="?attr/buttonBarNeutralButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<android.support.v4.widget.Space
android:id="@+id/spacer"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"
android:visibility="invisible" />
<Button
android:id="@android:id/button2"
style="?attr/buttonBarNegativeButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@android:id/button1"
style="?attr/buttonBarPositiveButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
是不是應該回答你的問題 - http://stackoverflow.com/a/31514677/632516? – Divers
@Divers不,我不能做這樣的,'colorAccent'將如果您需要更改只有一個按鈕改變消極和積極的顏色 –
的,你應該通過Java這樣做,因爲這是一個哈克的解決方案,而不是下面的設計原則的android。如何通過java來完成 - 請檢查我上面的鏈接。 – Divers