我将不透明度设置为屏幕背景。但是由于不透明度添加到背景图像,我的两个按钮正在影响。 请给我解决方案,以删除按钮的不透明度
android:background="@drawable/handicart_back_1"
android:alpha="0.7">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="LOGIN"
android:id="@+id/button"
android:layout_above="@+id/button2"
android:layout_alignStart="@+id/button2"
android:alpha="1"/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="SIGNUP"
android:id="@+id/button2"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="107dp" />
</RelativeLayout>
`
答案 0 :(得分:0)
您正在为RelativeLayout设置alpha而非背景。 我只知道以编程方式解决方案:
获取布局的BackgroundDrawable:
Drawable d = relativeLayout.getBackground()
为Drawable设置Alpha:
d.setAlpha(0.7f)
也许再次设置背景(如果需要,不要知道)
relativeLayout.setBackground(d)
答案 1 :(得分:0)
您可以使用此android:background="?android:attr/selectableItemBackground"
或android:background="@android:color/transparent"
(两者都做一些不同的事情)
答案 2 :(得分:0)
你可以尝试这个技巧。我们将alpha设置为图像,其作用类似于背景图片,其宽度和高度设置为匹配父级。并且不要忘记将它放在按钮之前,以便让它成为这些按钮的基础。
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical"
android:padding="16dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.7"
android:scaleType="fitXY"
android:src="@drawable/pic" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="LOGIN" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:alpha="1"
android:text="SIGNUP" />
</LinearLayout>
</FrameLayout>