如何在Android中以编程方式修改图层列表?

 余方兰很快乐 发布于 2023-02-08 09:32

我有一个图层列表设置为Textview的背景: -





    
        

        
    




    
        

        
    




- >我需要在列表视图中为此图层列表显示不同的颜色.

我需要通过代码(动态)以编程方式修改第二项.有人可以帮忙吗?

1 个回答
  • 看一下,LayerDrawable因为它是从您的XML创建的并在运行时使用.

    例:

    my_drawable.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
        <item android:id="@+id/gradientDrawble">
            <shape android:shape="rectangle" >
                <gradient
                    android:endColor="#897343"
                    android:startColor="#345456" />
                <corners android:radius="15dp" />
            </shape>
        </item>
    

    在运行时修改:

    LayerDrawable layerDrawable = (LayerDrawable) getResources()
        .getDrawable(R.drawable.my_drawable);
    GradientDrawable gradientDrawable = (GradientDrawable) layerDrawable
        .findDrawableByLayerId(R.id.gradientDrawble);
    gradientDrawable.setCornerRadius(50);
    

    2023-02-08 09:36 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有