2017-08-12 64 views
0

我是新来的android编程,但所有描述我的问题的问题似乎没有帮助。appcompat-v7:26 EditText总是白

Edittext color is white in appcompat 22.2

Android EditText Text Color is always white

Android edittext color white on white background

当然它的东西超级愚蠢的我找了

IssuePictured

我的活动:

<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> 

我的风格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应用

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

在style.xml中更改主题并检查 –

+0

我将其更改为Theme.AppCompat,结果相同您还有其他建议吗? – merjr

+0

你可以发布你的应用程序gradle吗? –

回答

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_textmd_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时,它会改变颜色。

0

变化,如下appcomcat版本并查看

compile 'com.android.support:appcompat-v7:26.+'

+0

我在问题中添加了我的渐进式文件。我已经在文件中编译了。 – merjr

0

您应该添加android:theme in TextInputLayout而不是EditText Section。

<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' 
+0

我添加了主题,文字仍然显示为白色 – merjr

+0

@merjr您应该使用'v7:26.0.1'版本 –

+0

这会导致我的项目抛出无法解析的问题:com.android.support:appcompat-v7:26.0 .1 – merjr

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> 

和更新YOUE 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> 

+0

当我输入时,文本仍然显示为白色 – merjr