gpt4 book ai didi

java - Android GradientDrawable setColor 不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 14:58:57 25 4
gpt4 key购买 nike

我在 Android 中设置布局颜色时遇到了一个烦人的问题;

这就是我的元素在layout.xml中的样子(LinearLayout中的FrameLayout(绘制元素)):

 <LinearLayout
android:id="@+id/farPD_mid_linearLayout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent">

<!-- top margin layout-->
<FrameLayout
android:id="@+id/farPD_top_margin"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@android:color/white">
</FrameLayout>

我想用白色绘制FrameLayout,我在Java中做了类似的事情:

    GradientDrawable gd3 = new GradientDrawable();
gd3.setColor(Color.parseColor("#ffffff"));
FrameLayout topBorder = (FrameLayout) findViewById(R.id.farPD_top_margin);
topBorder.setBackground(gd3);

我也尝试过使用setColors()。 Alpha 值为 255。问题是它不能绘制为白色!它以某种灰色绘制:|。(*也不是布局中设置的颜色)。另外,如果我注释 Java 代码,并且只在布局中设置颜色(也是白色),我会得到相同的输出:FrameLayout 涂成灰色!

有人可以帮我吗?谢谢!

最佳答案

您还可以使用xml设置渐变背景

gradient_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient
android:startColor="@color/selected_blue_color"
android:endColor="@color/default_blue_color"
android:angle="270" />
</shape>
</item>
</selector>

布局.xml

LinearLayout
android:id="@+id/farPD_mid_linearLayout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent">

<!-- top margin layout-->
<FrameLayout
android:id="@+id/farPD_top_margin"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/gradient_bg">
</FrameLayout>
</LinearLayout>

关于java - Android GradientDrawable setColor 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22858329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com