我是Android编程的新手,但描述我的问题的所有问题似乎都没有帮助。
Edittext color is white in appcompat 22.2
Android EditText Text Color is always white
Android edittext color white on white background
当然,我看起来非常愚蠢
我的活动:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@string/font_family_regular"
android:hint="@string/user_name"
android:maxLines="1"
android:nextFocusDown="@+id/password"
android:imeOptions="actionNext"
android:inputType="text"
android:text=""
android:textColor="#000000"/>
</android.support.design.widget.TextInputLayout>
My Styles XML
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- Customize your theme here. -->
<item name="android:textColor">@android:color/black</item>
<item name="android:textColorHint">@android:color/darker_gray</item>
<item name="colorAccent">#0000FF</item>
<item name="colorControlNormal">#0000FF</item>
<item name="colorControlActivated">#0000FF</item>
</style>
</resources>
Graddle app
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "com.myapp"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',
{
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support:design:26.+'
testCompile 'junit:junit:4.12'
}
答案 0 :(得分:1)
我在@Dahnark发布了解决方案:
How to customize EditText field in android using AppCompat v7:21
尝试在EditText
style="@style/Widget.AppCompat.EditText"
检入真实设备。
在我的EditText
作品中,这是我的EditText:
<EditText
android:id="@+id/editTextFacebookID"
style="@style/Widget.AppCompat.EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="64dp"
android:layout_marginRight="8dp"
android:gravity="center_vertical"
android:hint="Facebook ID"
android:textColor="@color/md_text"
android:textColorHint="@color/md_disabled_hint_text" />
您可以在此处查看 md_text 和 md_disabled_hint_text颜色: Google Colors
这是我的应用程序的v19风格:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/md_red_500</item>
<item name="colorPrimaryDark">@color/md_red_700</item>
<item name="colorAccent">@color/md_blue_A200</item>
<item name="colorControlHighlight">@color/md_black_1000_25</item>
<item name="colorControlNormal">@color/md_black_1000_50</item>
<item name="colorSwitchThumbNormal">@color/md_grey_200</item>
<item name="android:colorForeground">@color/md_black_1000_75</item>
<item name="android:windowTranslucentNavigation">@bool/translucentNavigationBar</item>
<item name="android:windowTranslucentStatus">@bool/translucentStatusBar</item>
<!-- Navigation Drawer Arrow Style. -->
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<!-- Overflow Button Style. -->
<item name="actionOverflowButtonStyle">@style/OverflowStyle</item>
</style>
我的EditText在没有聚焦时是灰色的,而蓝色是聚焦的,它需要 colorAccent的颜色。
当我更改AppTheme时,它会改变颜色。
答案 1 :(得分:0)
如下所示更改appcomcat版本并检查
compile 'com.android.support:appcompat-v7:26.+'
答案 2 :(得分:0)
您应该在 TextInputLayout 中添加 android:theme
,而不是 EditText 部分。
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme">
你应该设置
compile 'com.android.support:appcompat-v7:26.0.1'
compile 'com.android.support:design:26.0.1'
答案 3 :(得分:0)
我认为你应该试试这个: -
<强> activity_main.xml中强>
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_name"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/ed_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Your Name"
android:textColor="@android:color/black"/>
</android.support.design.widget.TextInputLayout>
并按照以下方式更新 style.xml : -
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>