使用向量资产的AppCompatRadioButton

时间:2019-01-30 16:37:18

标签: android android-vectordrawable android-radiobutton

我在使用Vector Drawables的4.4设备上遇到问题。首先,我将RadioButton切换为AppCompatRadioButton,以便可以使用矢量。事情是我不确定如何使用它们,因为我在xml中有指示器(indicator_selector),该指示器基本上只是用于点击状态的资产:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/on" android:state_checked="true"/>
    <item android:drawable="@drawable/of" android:state_checked="false"/>

</selector>

由于这是矢量图形内容,我应该更改它们以

app:srcCompat=@drawable/on?

当在代码中创建按钮时,我应该对矢量可绘制对象使用任何其他特定方法吗?这是我当前的代码:

AppCompatRadioButton radioBtn = new AppCompatRadioButton(activity);
radioBtn.setButtonDrawable(R.drawable.indicator_selector);

2 个答案:

答案 0 :(得分:0)

你有

AppCompatDelegate.setCompatVectorFromResourcesEnabled( true ); // enable SVG

在您的应用程序类中?

答案 1 :(得分:0)

所以基本上我无法使它与XML文件一起使用,我只是为

这样的状态编写了代码
SELECT t2.from,
       t2.time,
       t2.to,
       t2.changes,
FROM (
SELECT t.from, min(t.time) as mtime
FROM table t
GROUP BY t.from ) a
JOIN table t2
    ON t2.time = a.mtime
    AND t2.from = a.from

,然后将其设置为AppCompatRadioButton即可:)