Я ориентирую API уровня 8+. Мне нужен диалог с заголовком, сообщением, флажком с текстом и двумя классическими нижними кнопками. Я пытаюсь использовать стандартный AlertDialog и метод setView добавить флажок:AlertDialog цвет текста и маржа
checkbox.xml метод
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frame_checkbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp" >
<CheckBox
android:id="@+id/checkbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:checked="true"
android:textSize="14sp" >
</CheckBox>
</FrameLayout>
ShowDialog
private void showDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setTitle("Title");
builder.setMessage("Message");
View checkboxView = View.inflate(activity, R.layout.checkbox, null);
CheckBox checkBox = (CheckBox) checkboxView.findViewById(R.id.checkbox);
checkBox.setText("Some checkbox text");
builder.setView(checkboxView);
// First button
builder.setNegativeButton(getString(R.string.not_now),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
});
// Second button
builder.setPositiveButton(getString(R.string.help),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
});
builder.create();
builder.show();
}
Мои AppBaseTheme имеет родителя «Theme.AppCompat.Light» (/res/values/styles.xml), то же самое для значений-v11 и «Theme.AppCompat.Light.DarkActionBar» для значений-v14. У меня проблема в 2.3.3, флажок и текст не имеют полей или отступов (я их установил в xml), кроме того, текст черный как фон. Все выглядит нормально в 4.4. Я много читал об этой проблеме, но я все еще смущен и без решения. Не могли бы вы мне помочь?
вы можете увидеть мой ответ на тот же вопрос здесь http://stackoverflow.com/a/33377490/3346625 –