2015-01-19 3 views
1

У меня проблема при выборе текста внутри элемента управления EditText внутри AlertDialog.Значок выбора текста Android AlertDialog

Когда я выбираю текст, панель инструментов выбора текста отображается вверху экрана. Проблема в том, что фон панели инструментов белый, а значки, отображаемые на панели инструментов, также белые. Поэтому значки не видны (но они работают, если вы касаетесь их). Это на Android 4.2.2 (API 17).

Это фрагмент кода, который я использую для создания AlertDialog, который содержит EditText. Он находится в методе onCreate активности моего тестового проекта.

EditText et = new EditText(this); 
et.setText("Test"); 
AlertDialog.Builder b = new AlertDialog.Builder(this); 
b.setView(et).setPositiveButton("Ok", null).setNegativeButton("Cancel", null); 
b.create().show(); 

Вот как панель инструментов выделения текста выглядит при выборе текста:

Text select

Как я могу изменить цвет панели инструментов и/или значки, так что они будут видны?

+0

Возможный дубликат [Текст инструменты выбора в ActionBar белые на белом фоне после выделения текста в диалоге] (http://stackoverflow.com/questions/28459898/ text-selection-tools-in-actionbar-are-white-on-white-background-after-selection) –

ответ

0

Я думаю, что вы можете использовать:

<item name="actionModeBackground">@drawable/background</item> 
<item name="android:actionModeBackground">@drawable/background</item> 

в основной теме. Я не уверен, что вы можете указывать на цвета, а не на рисование. Быстрое обходное решение определяет форму, пригодную для рисования. Чтобы быть более точным вы могли бы иметь drawable/background.xml как:

<?xml version="1.0" encoding="utf-8"?> 
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 
    <solid 
     android:color="@color/color" /> 
</shape> 
+0

Я пробовал определить цвет в моем файле colors.xml, и я добавил ' @ color/myredcolor' в моей теме, но это не имеет никакого эффекта. Я все еще получаю бело-белые изображения. Родителем моей темы является 'Theme.AppCompat.Light.DarkActionBar' – Ove

+0

Возможно, вам также следует использовать' android: actionModeBackground'. Кроме того, я не уверен, что это работает с цветами. Попробуйте определить форму. – natario

+0

Я попытался использовать drawable вместо цвета, и я попробовал поставить 'android:' перед 'actionModeBackground', и он все еще не работает. Я сделал pastebin с файлами моего тестового приложения: [http://pastebin.com/EzfsrDjq](http://pastebin.com/EzfsrDjq). Я запускаю JellyBean API17 эмулятор. – Ove

Смежные вопросы