编辑文本底线在android 4.1中看起来是黑色的

时间:2016-12-19 07:09:07

标签: java android android-edittext

我已将色彩颜色为白色的编辑文字。但它在Android 4.0以上的设备上看起来很黑,直到棒棒糖。

我搜索了这个并获得了解决方案,将背景颜色应用为白色。

但是我有另一种编辑文本所属的布局,它有深蓝色,所以如果我将背景颜色应用为白色,整个编辑文本在深蓝色布局上看起来都是白色。

我现在该怎么办?

布局:

 <RelativeLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="@drawable/purple_bg"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="false"
    android:layout_alignParentStart="true"
    android:id="@+id/linearLayout"
    android:weightSum="1">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="42dp"
        android:id="@+id/editTextOrderItem"
        android:layout_gravity="center_vertical"
        android:backgroundTint="#ffffff"
        android:drawableTint="#ffffff"
        android:hint="Type here..."
        android:textColorHint="#ffffff"
        android:paddingLeft="15dp"
        android:imeOptions="actionDone"
        android:textSize="12sp"
        android:layout_marginLeft="@dimen/activity_horizontal_margin"
        android:layout_centerVertical="true"
        android:textColor="#ffffff"
        android:layout_toLeftOf="@+id/imageViewSearch"
        android:layout_toStartOf="@+id/imageViewSearch"
        android:singleLine="true" />

    <ImageView
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:id="@+id/imageViewSearch"
        android:backgroundTint="@android:color/white"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_gravity="center"
        android:src="@drawable/btn_search"
        android:layout_centerVertical="true"
        android:padding="10dp"
        android:layout_marginRight="06dp" />

</RelativeLayout>

color.xml

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#ffffff</color>
    <color name="colorPrimaryDark">#eeeeee</color>
    <color name="colorAccent">#3e3e3e</color>
    <color name="black">#747474</color>
    <color name="drawerBacground">#e6f7fd</color>
    <color name="themetextcolor">#009688</color>
    <color name="darktextcolor">#000000</color>
    <color name="lighttextcolor">#ACABAC</color>
    <color name="activity_bg_color">#D9E7E4</color>
    <color name="activity_footer_color">#37b0a0</color>
    <color name="btn_text">#b3ffffff</color>
    <color name="seperator">#dedede</color>
    <color name="accent">#00B0FF</color>
</resources>

请帮助,谢谢..

编辑:

我尝试添加新主题并将其放入清单中的活动中,但没有帮助。

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/black</item>
    <item name="colorAccent">@color/accent</item>
    <item name="android:typeface">monospace</item>
    <item name="android:textSize">17sp</item>
</style>
<style name="AppTheme2" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="android:typeface">monospace</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorPrimary</item>
</style>
<style name="AppTheme1" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="android:typeface">monospace</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/accent</item>
</style>

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

清单:

     <activity android:name=".Activities.MainActivity"
        android:theme="@style/AppTheme2"
        />

2 个答案:

答案 0 :(得分:2)

创建一个drawable资源xml文件(您的要求只是有一个底部笔划)

将给定的drawable设置为editText的背景,然后您可以添加所需的背景颜色+所需的底线颜色

解释:

这是资源drawable dashGap&amp; dashWidth适用于虚线/虚线(如果需要破折号,请删除它们)

android:top - &gt;您可以将减去尺寸提供给您需要显示的views。(此处您的要求是仅显示底线,因此顶部,右侧和放大器;该项目的左侧行已给出-2dp)

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape android:shape="rectangle" >
            <solid android:color="#FFF" />  <-- background color here
        </shape>
    </item>

    <item android:top="-2dp" android:right="-2dp" android:left="-2dp">
        <shape>
            <solid android:color="@android:color/transparent" />
            <stroke
                android:dashGap="10px"
                android:dashWidth="10px"
                android:width="1dp"
                android:color="#ababb2"  <-- bottom line color here /> 
        </shape>
    </item>

</layer-list>

答案 1 :(得分:1)

您可以在清单文件中的活动中设置不同的不同颜色重音。

<color name="colorAccent">#FFFFFF</color>