透明RelativeLayout容器中的不透明TextView

时间:2013-06-27 00:12:29

标签: android android-layout

我有一个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%?

感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

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

相反,我建议您使用带有ImageView填充它的FrameLayout。这个ImageView会让你的背景具有透明度,你可以在FrameLayout中放置带有TextViews的布局,以便它位于ImageView之上。

请搜索FrameLayout。用它很容易。