Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 动态更改选择器?_Android - Fatal编程技术网

Android 动态更改选择器?

Android 动态更改选择器?,android,Android,我有一个图像选择器,将“按下”状态设置为特定的可绘制状态。我想让用户有机会动态地改变这一点。但是,我还没有找到通过编程方式获取和修改选择器的方法 这是不受支持的吗?选择器与所有Android资源一样,经过一些编译时处理,优化XML以实现高效的运行时解析。您不能像建议的那样动态编辑资源 AFAIK实现您想要的唯一方法是在自定义图像选择器中手动实现可绘制选择(没有太多乐趣),或者限制用户选项,并拥有一个预构建的选择器集合,您可以根据用户的意愿在这些选择器之间进行切换。选择器,就像所有Android资

我有一个图像选择器,将“按下”状态设置为特定的可绘制状态。我想让用户有机会动态地改变这一点。但是,我还没有找到通过编程方式获取和修改选择器的方法


这是不受支持的吗?

选择器与所有Android资源一样,经过一些编译时处理,优化XML以实现高效的运行时解析。您不能像建议的那样动态编辑资源


AFAIK实现您想要的唯一方法是在自定义图像选择器中手动实现可绘制选择(没有太多乐趣),或者限制用户选项,并拥有一个预构建的选择器集合,您可以根据用户的意愿在这些选择器之间进行切换。

选择器,就像所有Android资源一样,进行一些编译时处理,优化XML以实现高效的运行时解析。您不能像建议的那样动态编辑资源


AFAIK实现所需的唯一方法是在自定义图像选择器中手动实现可绘制选择(没有太多乐趣),或者限制用户选项,并拥有一个预构建的选择器集合,用户可以根据自己的意愿进行切换。

您可以使用动态修改选择器

代码如下:

StateListDrawable state_up = new StateListDrawable();
        state_up.addState(new int[] {android.R.attr.state_pressed},getResources().getDrawable(R.drawable.btn_up_cyan));
        state_up.addState(new int[] {android.R.attr.state_focused},getResources().getDrawable(R.drawable.btn_up_cyan));
        b1.setBackgroundDrawable(state_up); 

可以使用动态修改选择器

代码如下:

StateListDrawable state_up = new StateListDrawable();
        state_up.addState(new int[] {android.R.attr.state_pressed},getResources().getDrawable(R.drawable.btn_up_cyan));
        state_up.addState(new int[] {android.R.attr.state_focused},getResources().getDrawable(R.drawable.btn_up_cyan));
        b1.setBackgroundDrawable(state_up);