单击图像按钮设置背景颜色

时间:2014-03-29 13:21:22

标签: android webview onclick

这是我的档案。我想在单击时更改图像按钮的背景颜色,以便用户可以看到它被点击,因为当我点击它时似乎没有点击它但它正在工作。我可以在其他问题上看到你需要一个drawable才能做到但我不知道我将把什么放在drawable文件夹中的xml文件中。你能帮我么?谢谢。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<RelativeLayout
    android:id="@+id/webViewHeaderArea"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:background="@android:color/white">

    <ImageButton
        android:id="@+id/btnCloseWebView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerHorizontal="false"
        android:layout_centerInParent="true"
        android:layout_marginTop="10dp"
        android:layout_marginRight="10dp"
        android:src="@drawable/close"
        android:background="@null"
        android:contentDescription="@string/button" />

    <ImageButton
        android:id="@+id/btnReload"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@+id/btnCloseWebView"
        android:src="@drawable/reload"
        android:background="@null"
        android:contentDescription="@string/button" />

    <ImageButton
        android:id="@+id/btnBack"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="15dp"
        android:src="@drawable/back"
        android:background="@null"
        android:contentDescription="@string/button" />

    <ImageButton
        android:id="@+id/btnStop"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="17dp"
        android:layout_toRightOf="@+id/btnBack"
        android:src="@drawable/stop"
        android:background="@null"
        android:contentDescription="@string/button" />

    <ImageButton
        android:id="@+id/btnForward"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="16dp"
        android:layout_toRightOf="@+id/btnStop"
        android:src="@drawable/forward"
        android:background="@null"
        android:contentDescription="@string/button" />

</RelativeLayout>

    <WebView android:id="@+id/web_engine"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent" />

2 个答案:

答案 0 :(得分:2)

您需要在名为contact_bg.xml的可绘制文件夹中创建一个xml文件。

然后,你必须写下面的内容。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/contact_hover" android:state_pressed="true"/>
    <item android:drawable="@drawable/contact"/>
</selector>

将其设置为图像按钮中的图像源。

并将两个文件放在drawable-hdpi中,名为contact.png和contact_hover.png

希望,这会有所帮助

答案 1 :(得分:0)

您可以使用选择器。要么使用可绘制图像,要么可以为每个状态定义自己的形状。你可以做这样的事情。

<item android:state_pressed="true" >
    <shape>
        <gradient
       <!-- set values here -->
            />
        <stroke
       <!-- set values here -->
             />
        <corners
      <!-- set values here -->
             />
        <padding
      <!-- set values here -->
            />
    </shape>
</item>

另请查看此link