Android - LinearLayout背景“超过”视图

时间:2013-04-15 20:35:59

标签: android layout background views

我正在尝试将简单的渐变背景应用于我的主要LinearLayout。我的问题是背景拒绝留在后台,而是决定也覆盖我的视图(在这种情况下TextViews和Buttons)。我做错了什么/我错过了什么?谢谢你的帮助!

主要布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mainLinearLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg_gradient"
android:orientation="vertical" 
>

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Select the PC to communicate with..." />

<TextView
    android:id="@+id/textViewStatus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Status" />

<RadioGroup
    android:id="@+id/radioGroupDevices"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

</RadioGroup>  

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/btnBack"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="&lt;&lt;" />

    <Button
        android:id="@+id/btnVolDown"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="-" />

    <Button
        android:id="@+id/btnPlayPause"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="|>" />

    <Button
        android:id="@+id/btnVolUp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="+" />

    <Button
        android:id="@+id/btnNext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=">>" />

   </LinearLayout>

</LinearLayout>

抽拉/ bg_gradient.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient android:angle="270" android:endColor="#181818" android:startColor="#616161"/>

    <stroke android:width="1dp" android:color="#343434" />
</shape>

结果(来自Eclipse xml编辑器的屏幕截图,但在实际手机上看起来相同) http://s14.directupload.net/images/130415/q8q6hcmn.png

如您所见,文本行和按钮似乎至少部分被背景覆盖。我也尝试使用普通的黑色背景,但结果相同。黑色阴霾背后的所有景观都显得“模糊”。

2 个答案:

答案 0 :(得分:1)

似乎你正在为Android版本3或更高版本开发...所以在这个版本和主题上面的版本设置,如控件似乎有透明背景......

尝试将控件(按钮,textviews)背景更改为某些散列颜色值

例如: - android:background="#ffaaff"

现在你不需要改变你的代码......试试吧......

为你的按钮把它放在你的代码中,使它们透明......

v.setBackgroundColor(0x0000FF00 );

希望这对你有用

答案 1 :(得分:0)

我没有看到您的按钮被渐变污染。至于最顶层的文本 - 它是正常的,因为默认情况下TextView背景是透明的,所以容器的bg将通过它看到。