我在Android Studio中遇到了一个非常奇怪的问题。我有一个带有EditText对象和一个按钮的简单布局。当我去分配属性android:background =" some_color"按钮,整个布局颜色变淡,看起来是白色。删除属性后,背景颜色恢复正常。截图和说明:
将背景颜色添加到按钮之前的代码:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/clarksonGreen">
<ImageView
android:id="@+id/EnterRoomNumberBackgroundImage"
android:layout_width="437dp"
android:layout_gravity="center"
android:layout_height="526dp"
android:alpha="0.1"
app:srcCompat="@drawable/knight" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:weightSum="1">
<EditText
android:id="@+id/EnterRoomNumber"
android:layout_width="246dp"
android:background="@drawable/enter_room_number_box"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="55dp"
android:layout_marginTop="10dp"
android:ems="10"
android:hint="Enter Room #"
android:textColorHint="#808080"
android:textAlignment="center"
android:inputType="number"
android:layout_weight="0.09" />
<Button
android:id="@+id/GoButton"
android:layout_width="271dp"
android:layout_height="80dp"
android:text="Button" />
</LinearLayout>
</FrameLayout>
Preview before the background color is added to the button.
将背景颜色添加到按钮后的代码:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/clarksonGreen">
<ImageView
android:id="@+id/EnterRoomNumberBackgroundImage"
android:layout_width="437dp"
android:layout_gravity="center"
android:layout_height="526dp"
android:alpha="0.1"
app:srcCompat="@drawable/knight" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:weightSum="1">
<EditText
android:id="@+id/EnterRoomNumber"
android:layout_width="246dp"
android:background="@drawable/enter_room_number_box"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="55dp"
android:layout_marginTop="10dp"
android:ems="10"
android:hint="Enter Room #"
android:textColorHint="#808080"
android:textAlignment="center"
android:inputType="number"
android:layout_weight="0.09" />
<Button
android:id="@+id/GoButton"
android:layout_width="271dp"
android:background="@color/clarksonGreen"
android:layout_height="80dp"
android:text="Button" />
</LinearLayout>
</FrameLayout>
Preview after background color is added to button.
任何想法如何解决这个奇怪的错误?
答案 0 :(得分:0)
可能是你没有分配颜色变量&#34; clarksonGreen&#34;在资源文件颜色?如果是,您应该转到颜色变量并输入颜色名称(&#34; clarksonGreen&#34;)并指定颜色(例如:#e55656)。
答案 1 :(得分:0)
首先,我无法重现这个问题。假设你的颜色文件中有颜色,我没有看错。
您可以尝试重建项目,将颜色应用于ImageView,更新AndroidStudio或在模拟器上启动它以查看它是否也在那里。
如果它不起作用,请将整个代码上传到GitHub,以便我可以更仔细地查看。