Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 保留相对布局背景_Android_Xml - Fatal编程技术网

Android 保留相对布局背景

Android 保留相对布局背景,android,xml,Android,Xml,我试图设置一个相对的版面背景色,当用户只按住它,然后在他们放完后恢复,但似乎无法让它响应 我的活动的xml如下所示: <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="0dp" android:id="@+id/one" android:background="@drawable/

我试图设置一个相对的版面背景色,当用户只按住它,然后在他们放完后恢复,但似乎无法让它响应

我的活动的xml如下所示:

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="0dp"
    android:id="@+id/one"
    android:background="@drawable/preferencesbg"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:clickable="true">

首先,如果您的RelativeLayout不包含任何其他元素,请将
android:layout\u height
设置为
wrap\u content
,以便版面高度大于0dp

然后将您的项目更改为:

<item android:state_pressed="false" android:drawable="@color/white"/>
<item android:state_pressed="true" android:drawable="@color/darkblue" />


然后,您的背景应该会以您想要的方式进行更改,而无需编写任何Java代码。

您是否在onClickListener中进行了颜色更改?粘贴java代码我发布了一些我尝试过但最终删除的代码,因为它会设置错误的颜色?不知道为什么,我想把它设置成黑色(#000),但它设置了一些奇怪的灰色。哇,谢谢,我不知道为什么我在这件事上这么难
final RelativeLayout rl = (RelativeLayout) findViewById(R.id.one);

        rl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                rl.setBackgroundColor(R.color.darkblack);
            }
        });
<item android:state_pressed="false" android:drawable="@color/white"/>
<item android:state_pressed="true" android:drawable="@color/darkblue" />