Android渐变背景
我需要实现类似这样的东西,底部有黑色渐变效果 我使用了下面的代码 activity_main.xmlAndroid渐变背景,android,xml,gradient,Android,Xml,Gradient,我需要实现类似这样的东西,底部有黑色渐变效果 我使用了下面的代码 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:layout_width="match_parent" android:layout_height="200dp" android:layout_marginBottom="5dp" android:background
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_marginBottom="5dp"
android:background="@drawable/my_custom_drawable"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/dead"
android:scaleType="fitXY"
android:id="@+id/place_image"
/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:background="#AA000000">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Medeu"
android:id="@+id/place_id"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:textSize="18sp"
android:textColor="#ffffff"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Almaty region"
android:textColor="#ffffff"
android:layout_marginLeft="20dp"
android:layout_below="@+id/place_id"
android:textSize="12sp"
android:id="@+id/place_id_sub"
/>
</RelativeLayout>
</RelativeLayout>
和my_custom_drawable.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#00000000"
android:endColor="#80000000"
android:angle="270"
android:dither="true"
/>
</shape>
我最终会变成这样
为什么我没有得到第一张图片的效果,我参考了其他问题的几个主要答案
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
>
<gradient
android:angle="90"
android:startColor="@color/black_transparent"
android:endColor="@android:color/transparent"
/>
</shape>
问题在于您的
图像视图
覆盖了您设置背景的相对视图
,因此它不可见
在图像视图
上方添加具有所需背景的视图
,而不是设置相对视图
的背景,应该可以:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_marginBottom="5dp">
<ImageView
android:id="@+id/place_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/dead" />
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/my_custom_drawable" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true">
<TextView
android:id="@+id/place_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="2dp"
android:text="Medeu"
android:textColor="#ffffff"
android:textSize="18sp" />
<TextView
android:id="@+id/place_id_sub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/place_id"
android:layout_marginLeft="20dp"
android:text="Almaty region"
android:textColor="#ffffff"
android:textSize="12sp" />
</RelativeLayout>
</RelativeLayout>
您的图像位于渐变上方 用这个
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<gradient
android:angle="90"
android:centerColor="#555994"
android:endColor="#b5b6d2"
android:startColor="#555994"
android:type="linear" />
<corners
android:radius="20dp"/>
</shape>
检查我的答案。。。我已经测试过了