3

右側の各 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 アイテムの右側にある画像が非常に簡単にクリックできることがわかります (画像をクリックしていなくても、たとえばボタンの上にあると言えます)。その方法を知りたいです。

ツイッター画像 http://www.freeimagehosting.net/uploads/889d10c435.png

誰?助けはありますか?

4

2 に答える 2

1

Twitterの画像が実際に三角形の円よりも大きい可能性はありますか? より大きな透明な背景で画像をパディングしてみてください。

于 2010-08-12T14:58:12.073 に答える
0

編集:これは古い質問ですが、それでも回答を整理しています。ここで透明な画像 (または UI 要素) を作成することが最善の解決策であるかどうかはわかりませんが、もっともらしいもののように思えます。

この質問は、透明な ListView の作成に関連しています ( How To Make a Listview Transparent in Android )。回答は、styles.xml ファイルを編集して、次のコードの行に沿って何かを含めることを提案しています (Jacky の回答から取得)。

android:background="@drawable/bg"
android:cacheColorHint="#00000000"

同様に、この投稿では透過的なアクティビティの実装について説明しています ( 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);
于 2010-08-12T15:22:35.947 に答える