Я добавил новую библиотеку app-compat 'com.android.support:appcompat-v7:22.1.0' к моему проекту, но, похоже, есть проблема, чтобы применить тему к AppCompatEditText, когда она находится внутри фрагмента.Android - тема AppCompatEditText не применяется внутри фрагмента
Это мой EditText:
<android.support.v7.widget.AppCompatEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:textColor="@color/teal_300"
android:textCursorDrawable="@null"
android:textColorHint="@color/text_hint"
style="@style/TextAppearance.AppCompat.Display1"
android:theme="@style/Theme.MyTheme.EditText"/>
Это тема:
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/teal_500</item>
<item name="colorPrimaryDark">@color/teal_700</item>
<item name="colorAccent">@color/orange_500</item>
<item name="colorControlNormal">@color/grey</item>
<item name="colorControlActivated">@color/teal_300</item>
<item name="colorControlHighlight">@color/teal_300</item>
<item name="colorSwitchThumbNormal">@color/teal_300</item>
</style>
<style name="Theme.MyTheme.EditText" parent="Theme.MyTheme">
<item name="colorControlNormal">@color/orange_500</item>
<item name="colorControlActivated">@color/orange_500</item>
</style>
Поэтому в основном я просто хочу, чтобы изменить цвет подчеркивания в EditText до оранжевого вместо серого/чирок ,
Когда я помещаю этот код непосредственно в макет действия, он отлично работает, поэтому подчеркивание оранжевое. Но если я поместил один и тот же код внутри макета фрагмента, подчеркивание будет серым/чистым. Таким образом, тема, похоже, не применяется.
Благодаря
Вы не используете 'AppCompatEditText' напрямую. Просто используйте 'EditText', а' LayoutInflater', предоставленный 'AppCompatActivity', надувает' AppCompatEditText' вместо этого автоматически. То же самое касается других виджетов. –
Хорошо, когда я меняю его на обычный EditText, цвета применяются, но он больше не похож на материал EditText. Таким образом, у этого нет только этого прямого подчеркивания, но он также имеет эти маленькие края слева и справа. Idk, который хуже :) –
'@ style/TextAppearance.AppCompat.Display1' принадлежит к атрибуту' android: textAppearance' не 'style'. Это могло бы исправить это. –