我有一个自定义listView,它是根据以下行项目布局构建的。我需要的是背景是半透明的。我可以使用Alpha属性将其设置为0.5,如下面的代码所示。但是,这也是使我的textView和imageView也是半透明的。
我如何才能使背景颜色成为半透明,但文字和图像是否正常/不透明?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:background="#ffffff"
android:padding="8dp"
android:alpha="0.5">
<ImageView
android:id="@+id/Image"
android:layout_width="110dp"
android:layout_height="90dp"
android:layout_marginRight="6dip"/>
<LinearLayout
android:id="@+id/Text"
android:orientation="vertical"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="fill_parent">
<TextView
android:id="@+id/Text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="22dip"
android:textStyle="italic" />
<TextView
android:id="@+id/Text2"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:singleLine="true"
android:ellipsize="marquee"/>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:2)
尝试将ARGB值用于背景而不是使用alpha。您可以使用#80FFFFFF
将其设置为50%透明度。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:background="#80ffffff"
android:padding="8dp">
请参阅this post