android – 渐变背景在某些设备中不起作用

android – 渐变背景在某些设备中不起作用,第1张

概述我正在使用渐变drawable用于 Image内部阴影,它适用于某些设备(检入模拟器)但在某些设备中不起作用.首先我认为它将取决于api级别的设备但是今天我检查同样的事情在具有api级别“16”(即果冻豆)的平板电脑上,它也不起作用. 渐变代码(适用于所有四个边的内部阴影): <?xml version="1.0" encoding="utf-8"?><layer-list xmlns:andr 我正在使用渐变drawable用于 Image内部阴影,它适用于某些设备(检入模拟器)但在某些设备中不起作用.首先我认为它将取决于API级别的设备但是今天我检查同样的事情在具有API级别“16”(即果冻豆)的平板电脑上,它也不起作用.

渐变代码(适用于所有四个边的内部阴影):

<?xml version="1.0" enCoding="utf-8"?><@R_637_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID" >    <item>        <shape androID:shape="rectangle" >        </shape>    </item>    <item        androID:bottom="114dip"        androID:top="0dip">        <shape androID:shape="rectangle" >            <gradIEnt                androID:angle="270"                androID:endcolor="#00000000"                androID:startcolor="#40000000" />        </shape>    </item>    <item        androID:bottom="0dip"        androID:top="114dip">        <shape androID:shape="rectangle" >            <gradIEnt                androID:angle="90"                androID:endcolor="#00000000"                androID:startcolor="#40000000" />        </shape>    </item>    <item        androID:left="0dip"        androID:right="114dip">        <shape androID:shape="rectangle" >            <gradIEnt                androID:angle="360"                androID:endcolor="#00000000"                androID:startcolor="#40000000" />        </shape>    </item>    <item        androID:left="114dip"        androID:right="0dip">        <shape androID:shape="rectangle" >            <gradIEnt                androID:angle="180"                androID:endcolor="#00000000"                androID:startcolor="#40000000" />        </shape>    </item></@R_637_3419@>

我的布局代码:

<FrameLayout                androID:ID="@+ID/about"                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:layout_gravity="center_vertical"                androID:layout_weight="1"                androID:background="@color/light_green" >                <ImageVIEw                    androID:ID="@+ID/home_icon_placeholder"                    androID:layout_wIDth="wrap_content"                    androID:layout_height="wrap_content"                    androID:src="@drawable/home_icon_placeholder" />                <TextVIEw                    androID:layout_wIDth="wrap_content"                    androID:layout_height="wrap_content"                    androID:layout_gravity="center"                    androID:drawablepadding="5dp"                    androID:drawabletop="@drawable/about_icon"                    androID:gravity="center"                    androID:text="@string/about_champions_club_btn_txt"                    androID:textcolor="@androID:color/white"                    androID:textSize="12sp"                    androID:textStyle="bold" />            </FrameLayout>

和我的代码中的uisng渐变为:

int sdk = androID.os.Build.VERSION.SDK_INT;        if (sdk < androID.os.Build.VERSION_CODES.JELLY_BEAN) {            placeHolderImageVIEwAbout.setBackgroundcolor(getResources().getcolor(R.color.transparent));        } else {//shadow background is above mention gradIEnt            placeHolderImageVIEwAbout.setBackgroundResource(R.drawable.shadow_background);}
解决方法 从shadow_background.xml中删除此块(第一个项块).

<item>    <shape androID:shape="rectangle" >    </shape></item>

为了检查shadow_background,我做了一个像这样的布局,它似乎工作(甚至在xml编辑器中的API10).
(如果您离开第一个项目块,linearLayout将填充黑色.)

FrameLayout(Background = @color/light_green)    linearLayout    (Background = @drawable/shadow_background)
总结

以上是内存溢出为你收集整理的android – 渐变背景在某些设备中不起作用全部内容,希望文章能够帮你解决android – 渐变背景在某些设备中不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1127646.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存