透明渐变问题

Ale*_*voy 5 android transparent linear-gradients

我在 FrameLayout 中有带有谷歌地图片段的布局。另外,我将新视图放置在具有渐变背景的地图上。布局:

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    >

    <com.google.android.gms.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <View
        android:id="@+id/fadeTop"
        android:layout_width="match_parent"
        android:layout_height="@dimen/fade_height"
        android:layout_gravity="top"
        android:background="@drawable/list_fade_top"/>
    <include layout="@layout/top_line_mid_gray"/>

</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

列表淡入淡出顶部:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <gradient
        android:angle="90"
              android:startColor="@color/fade_start_color"
              android:centerColor="@color/fade_center_color"
              android:endColor="@color/fade_end_color"
        android:type="linear"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
  1. 开始/结束和中心颜色。这个渐变用 2 条光线绘制:

<color name="fade_start_color">#00000000</color> <color name="fade_center_color">#4f000000</color> <color name="fade_end_color">#ff000000</color> 在此输入图像描述

  1. 开始/结束和中心颜色。该渐变使用 1 条光线绘制:

<color name="fade_start_color">#00000000</color> <color name="fade_center_color">#6f000000</color> <color name="fade_end_color">#ff000000</color> 在此输入图像描述

  1. 对于没有中心颜色的渐变,具有相同的行为:

    <gradient
        android:angle="90"
              android:startColor="@color/fade_start_color"
              android:endColor="@color/fade_end_color"
        android:type="linear"/>
    
    Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何绘制从黑色(或半透明黑色)到全透明的平滑线性渐变?

我尝试打开/关闭硬件加速,'getWindow().setFormat(PixelFormat.RGBA_8888);' 没有什么可以帮助我。

更新 1 我在 github 上创建了一个简单的应用程序。 https://github.com/ralexey/TestApp 只是一个具有彩色背景和渐变的活动。

小智 0

尝试下面的代码:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>
        <shape android:shape="rectangle" android:padding="10dp">
            <gradient
                android:startColor="#00000000"
                android:centerColor="#6f000000"
                android:endColor="#ff000000"
                android:angle="90" />

        </shape>
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)