Android:布局不会改变点击背景

时间:2014-12-17 10:57:54

标签: android android-layout android-linearlayout

有以下布局:

<LinearLayout android:id="@+id/colleagues_show_email_linearLayout"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:orientation="horizontal"
              android:clickable="true"
              android:background="?attr/clickableItemBackground">

    <ImageView android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:src="@drawable/ic_launcher"/>

    <TextView android:id="@+id/colleagues_show_email_textView"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:gravity="center"/>

</LinearLayout>

当我点击ImageView时,LinearLayout以与ListView相同的方式更改背景。但是单击TextView不会改变背景。怎么了?

更新 我在TextView上有一个View.OnClickListener(只有onClick(View v){Log.d(TAG,“Email onClick”);}),这就是问题所在。删除setOnClickListener行后,它开始按预期工作。

3 个答案:

答案 0 :(得分:1)

将textview高度和宽度设置为wrap_content。

答案 1 :(得分:0)

更改布局的颜色

imageview.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

        linearlayout.setBackgroundColor(
            Color.parseColor("your colourcode(ex.#AE00FF)"));

    }
});

获取颜色

ColorDrawable cd = (ColorDrawable) listview.getBackground();
int colorCode = cd.getColor();

答案 2 :(得分:0)

ImageView没有点击事件,但TextView自己处理点击事件。点击它时,它允许您编辑里面的文本。实际上您没有单击List项,因此它不会执行List选择器。您必须设法从onClick触发列表项TextView事件,可能来自TextView&#39; onClick事件...或者{{ 3}}也可以帮助。它建议在您的布局上使用android:descendantFocusability="blocksDescendants"

祝你好运