3

我有一个 RelativeLayout 容器,其中包含背景图像和图像顶部的 TextViews 中的一些文本。整个容器的不透明度为 95%(0.95 alpha),但我希望 TextViews 完全不透明度。我不能只让图像 LinearLayout 具有透明度,因为我在 RelativeLayout 中有两个重叠的图像(blue_background LinearLayout 和 blue_bottom_part ImageView),它们都需要为 0.95 alpha(我不能单独将它们设置为 0.95 alpha,因为重叠部分会出现)。

我试过添加

android:alpha="1.0"

到 TextViews,但这似乎并没有覆盖整个 RelativeLayout 容器的透明度。

我也尝试过以编程方式覆盖它:

myTextView.setAlpha(1.0f);

这些都没有奏效。

这是布局的 XML(精简了一点):

<?xml version="1.0" encoding="utf-8"?>
<MyCustomRelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:alpha="0.95">
  <LinearLayout
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      android:orientation="vertical"
      android:background="@drawable/blue_background">
    <TextView
        android:id="@+id/my_title_textview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:textStyle="bold"
        />
    <TextView
        android:id="@+id/my_body_textview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />
  </LinearLayout>
  <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      android:background="@drawable/blue_bottom_part"
      />
</MyCustomRelativeLayout>

如何使整个容器(两个背景图像)保持 95% 的透明度,同时使文本完全不透明?

任何帮助表示赞赏!

4

1 回答 1

2

好吧,如果我没记错的话,你不能按照你想要的方式去做。

相反,我建议您使用带有 ImageView 填充它的 FrameLayout。这个 ImageView 的背景将具有透明度,并且您将在 FrameLayout 内部放置带有 TextViews 的布局,以便它位于 ImageView 的顶部。

请搜索有关 FrameLayout 的信息。这很容易做到。

于 2013-06-27T01:44:45.277 回答