getActivity / ShapeView

Shape 支持在布局中直接定义啦,支持设置阴影,文字渐变色,状态选择器
Apache License 2.0
841 stars 79 forks source link

[Suggestion]:希望可以增加状态下的drawable设置 #82

Closed EmccK closed 5 months ago

EmccK commented 7 months ago

What are the shortcomings you have noticed in the framework? [Required]

没办法设置不同状态下的drawable 例如selected,pressed下的drawable

Has a similar suggestion been made in the issue list? [Required]

No

Is the suggestion mentioned in the framework documentation? [Required]

No

Did you consult the framework documentation but couldn't find a solution? [Required]

Yes

How do you suggest improving it? [Optional]

shapeTextView里面的shape_textSelectedColor一样,添加shape_selectedDrawable,以及其他的设置

getActivity commented 7 months ago

小伙子,你说的设置不同状态下的 drawable 是设置给哪里?控件的背景?

EmccK commented 7 months ago

是的,就是不同状态下的背景图片,例如正常,选中,按压等状态下的背景

getActivity commented 7 months ago

小伙子,经过认真斟酌,这个建议将不会被采纳,具体原因是 View 背景跟随选中、按压的情况下修改图片的场景比较罕见,如果要实现这一功能,会增加很多代码行数及逻辑判断,综合考虑下来实现这个功能点的价值和意义不是很大。

EmccK commented 7 months ago
image image

那这种情况下的需求,怎么使用这个框架实现呢? 如果添加了shape_selectedDrawable,我就可以只用设置isSelected字段就行了

getActivity commented 7 months ago
image
getActivity commented 7 months ago

@EmccK 如果是针对 CheckBox 或者 RadioButton 控件的,框架有对外提供这几个属性,我都有写在文档上面。

EmccK commented 7 months ago
<com.hjq.shape.view.ShapeCheckBox
    android:id="@+id/iv_star"
    android:layout_width="wrap_content"
    android:layout_height="20dp"
    android:background="@null"
    android:gravity="center_vertical"
    android:textSize="11sp"
    app:shape_buttonDrawable="@drawable/ic_star_unselected"
    app:shape_buttonSelectedDrawable="@drawable/ic_star_selected"
    app:shape_textColor="@color/text_color_3"
    app:shape_textSelectedColor="@color/normal_red_color"
    tools:text="029" />

但是这两种控件如果我设置的是图片,图片大小比控件大的话,就只会显示出一部分 RaidoButton也是一样的问题

image
getActivity commented 7 months ago

@EmccK 小伙子,很抱歉,我现在才看到你的回复,如果这种情况我建议你将图片从位图变成矢量图,或者加大控件的宽高,又或者缩小图片的宽高,这样就可以解决你的问题,当然首选是使用矢量图。

aacai commented 6 months ago

作者大大,可不可以把这个框架完全迁移到androidx,引入这个框架目前需要support库,不是很好

getActivity commented 6 months ago

@aacai 小伙子,你这个问题别人已经问过了,具体可以到 issue 列表中查找,我就不重复解答了。

aacai commented 6 months ago

这是来自QQ邮箱的假期自动回复邮件。你好,我最近正在休假中,无法亲自回复你的邮件。我将在假期结束后,尽快给你回复。

aacai commented 5 months ago

这是来自QQ邮箱的假期自动回复邮件。你好,我最近正在休假中,无法亲自回复你的邮件。我将在假期结束后,尽快给你回复。