繁体   English   中英

如何自定义ActionBarSherlock中CustomView中按下的项目的颜色

[英]How to customize color on item pressed in CustomView in ActionBarSherlock

我有一个带有带有自定义视图的ActionBarSherlock的应用程序,该视图具有一些可单击的线性布局,但是它们在视觉上对点击/单击没有响应。 自定义视图如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:orientation="horizontal"
    android:gravity="right" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:duplicateParentState="true"
        android:layout_gravity="right"
        android:background="@drawable/toolbar_button_background_drawable"
        android:padding="10dp"
        android:gravity="center" >

        <TextView
            android:duplicateParentState="true"
            android:id="@+id/decrease_fontsize"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:layout_marginRight="4dp"
            android:clickable="true"            
            android:text="-A"
            android:textColor="#333"
            android:textSize="14sp" />
    </LinearLayout>
</LinearLayout>

使用以下可绘制对象:(toolbar_button_background_drawable.xml)

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

hover.9.png只是一个背景...

但是当我点击此文本时,会触发onclick侦听器,但在外观上不会更改LinearLayout

当您将android:duplicateParentState="true"设置为视图时,视图将从其直接父级而不是其自身获取其可绘制状态(聚焦,按下等)。 因此, parent Layout应该是clickable

只需将android:clickable="true"到内部LinearLayoutparent layout中即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM