我在右侧的每个ListView项目中放置了一个图像,在布局xml中,我将其宽度和长度设置为20dip,有点小,我发现它很难点击它导致图像只占用20 * 20浸,我希望它的长度不变,而它的高度充满了父母, 我试过了:
android:layout_width="20dip"
android:layout_height="fill_parent"
但它不起作用。
下面是我的xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="6dip"
android:background="#FFFFFF">
<ImageView android:id="@+id/avatar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="6dip"
android:src="@drawable/default_happy_face" />
<RelativeLayout
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_toRightOf="@id/avatar"
android:layout_toLeftOf="@+id/optionImg">
<!-- some stuff unrelated-->
</RelativeLayout>
<!-- v Pay attention here v -->
<ImageView android:id="@+id/optionImg"
android:layout_width="20dip"
android:layout_height="fill_parent"
android:layout_marginLeft="15dip"
android:paddingLeft="5dip"
android:adjustViewBounds="true"
android:background="@drawable/option_normal"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"/>
</RelativeLayout>
如果你仔细观察Android的Twitter客户端,你会发现每个ListView项目右侧的图像都很容易点击(即使你没有点击图像但是例如在按钮顶部说)。我想知道怎么做。
twitter image http://www.freeimagehosting.net/uploads/889d10c435.png
任何人?任何帮助?
答案 0 :(得分:1)
推特图片实际上是否可能比带有三角形的圆圈大?尝试使用更大的透明背景填充图像。
答案 1 :(得分:0)
编辑:这是一个老问题,但我正在清理我的答案。我不确定创建透明图像(或UI元素)是最好的解决方案,但它看起来似乎是合理的。
此问题与创建透明ListView(How To Make a Listview Transparent in Android)有关。答案建议编辑styles.xml文件以包含以下代码中的内容(取自Jacky的答案)。
android:background="@drawable/bg"
android:cacheColorHint="#00000000"
同样,这篇文章涵盖了实施透明活动(How to Create Transparent Activity in Android)。接受的答案中的代码如下。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>
最后,这是关于Android(Android: Make image opaque/transparent)中图像不透明度/透明度的一般问题。接受的答案建议使用以下代码来绘制透明形状:
Bitmap buffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_4444);
buffer.eraseColor(Color.TRANSPARENT);