将颜色属性从自定义视图传递到Android中的可绘制形状

约翰·诺德伯格(Johan Nordberg)

我创建了一个自定义视图,<shape>该视图在视图xml中使用2作为背景。现在,我已经<solid color=""/>对形状进行了硬编码,但是我想将颜色作为参数从代码传递到自定义视图,再传递给形状。

我该如何实现?我想将颜色引用传递给代码@+id/rectangle@+id/triangle代码。

形状:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
    <corners android:radius="1dp"/>
    <solid android:color="@color/giddyologyOrange"/>
    <padding
            android:left="0dp"
            android:top="0dp"
            android:right="0dp"
            android:bottom="0dp"
            />
    <size android:height="60dp"
            />
    <stroke
            android:width="1dp"
            android:color="#C95800"
            />
</shape>

看法:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

<LinearLayout
        android:id="@+id/rectangle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@drawable/rectangle"
        android:orientation="horizontal"
        android:padding="5dp">

    <ImageView
            android:id="@+id/iconImageView"
            android:layout_width="32dp"
            android:layout_height="32dp"
            android:layout_gravity="center_vertical|left"
            android:contentDescription="Icon"
            android:src="@drawable/iconplaceholder"
            android:scaleType="fitCenter"/>

    <View
            android:id="@+id/spaceView"
            android:layout_height="match_parent"
            android:layout_width="10dip"/>

    <TextView
            android:id="@+id/labelTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|left"
            android:textColor="@color/white"
            android:gravity="center|left"
            android:textSize="16dip"
            android:maxWidth="150dip"
            android:text="This is a really long text that should wrap"/>
</LinearLayout>

<View
        android:id="@+id/triangle"
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="-1dp"
        android:background="@drawable/triangle"
        android:rotation="180"/>
</LinearLayout>
约翰·诺德伯格(Johan Nordberg)

我最终使用了彩色滤光片对背景图像进行了着色。

rectangle.getBackground().setColorFilter(color, PorterDuff.Mode.SRC);

由于颜色来自我的模型对象,因此这似乎是一个非常容易且可维护的解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Android中制作自定义可绘制形状

来自分类Dev

在Android中制作自定义可绘制形状

来自分类Dev

将android:fontFamily传递到Android中的自定义视图

来自分类Dev

Android:将数据传递到自定义视图类中?

来自分类Dev

Android:将数据传递到自定义视图类中?

来自分类Dev

创建自定义可绘制形状

来自分类Dev

有没有办法在android xml中创建自定义可绘制形状?

来自分类Dev

使用XML在android中绘制自定义形状

来自分类Dev

自定义视图到Toast中-不绘制

来自分类Dev

Android:绘制自定义形状

来自分类Dev

从Actvity将变量传递到自定义视图类

来自分类Dev

从Actvity将变量传递到自定义视图类

来自分类Dev

将事件信息从自定义视图传递到 ViewModel

来自分类Dev

渐变颜色到自定义视图

来自分类Dev

将jquery args从自定义属性传递到$ .get

来自分类Dev

如何在自定义视图中获取和更改可绘制背景颜色

来自分类Dev

在android中的自定义图片视图上绘制

来自分类Dev

android seekbar自定义可绘制

来自分类Dev

可绘制的Android自定义Seekbar

来自分类Dev

创建自定义形状/可绘制-6面按钮

来自分类Dev

Android-具有形状可绘制对象和渐变的自定义按钮

来自分类Dev

如何在UIView中为表格视图标题部分绘制自定义形状?

来自分类Dev

将参数传递到自定义的Rails路线中

来自分类Dev

Android中的自定义“共享到”视图

来自分类Dev

Android使用多种颜色的扫描渐变在自定义视图中绘制圆弧

来自分类Dev

自定义android视图的“自定义类型”属性

来自分类Dev

Android自定义视图属性-不允许使用“颜色”作为属性名称

来自分类Dev

在Android Studio中找不到我的自定义视图的自定义属性

来自分类Dev

使用路径在Android的画布上绘制自定义形状

Related 相关文章

  1. 1

    在Android中制作自定义可绘制形状

  2. 2

    在Android中制作自定义可绘制形状

  3. 3

    将android:fontFamily传递到Android中的自定义视图

  4. 4

    Android:将数据传递到自定义视图类中?

  5. 5

    Android:将数据传递到自定义视图类中?

  6. 6

    创建自定义可绘制形状

  7. 7

    有没有办法在android xml中创建自定义可绘制形状?

  8. 8

    使用XML在android中绘制自定义形状

  9. 9

    自定义视图到Toast中-不绘制

  10. 10

    Android:绘制自定义形状

  11. 11

    从Actvity将变量传递到自定义视图类

  12. 12

    从Actvity将变量传递到自定义视图类

  13. 13

    将事件信息从自定义视图传递到 ViewModel

  14. 14

    渐变颜色到自定义视图

  15. 15

    将jquery args从自定义属性传递到$ .get

  16. 16

    如何在自定义视图中获取和更改可绘制背景颜色

  17. 17

    在android中的自定义图片视图上绘制

  18. 18

    android seekbar自定义可绘制

  19. 19

    可绘制的Android自定义Seekbar

  20. 20

    创建自定义形状/可绘制-6面按钮

  21. 21

    Android-具有形状可绘制对象和渐变的自定义按钮

  22. 22

    如何在UIView中为表格视图标题部分绘制自定义形状?

  23. 23

    将参数传递到自定义的Rails路线中

  24. 24

    Android中的自定义“共享到”视图

  25. 25

    Android使用多种颜色的扫描渐变在自定义视图中绘制圆弧

  26. 26

    自定义android视图的“自定义类型”属性

  27. 27

    Android自定义视图属性-不允许使用“颜色”作为属性名称

  28. 28

    在Android Studio中找不到我的自定义视图的自定义属性

  29. 29

    使用路径在Android的画布上绘制自定义形状

热门标签

归档