Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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
Java 动态创建可绘图项_Java_Android_Drawable_Android Drawable - Fatal编程技术网

Java 动态创建可绘图项

Java 动态创建可绘图项,java,android,drawable,android-drawable,Java,Android,Drawable,Android Drawable,我正在尝试创建一个按钮,周围有一个环(这是一个点击计数器应用程序)。目前,我正在创建一个可绘制的戒指,然后将按钮的背景设置为可绘制。图纸中的代码如下所示: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="ring" android:innerRadius="@dim

我正在尝试创建一个按钮,周围有一个环(这是一个点击计数器应用程序)。目前,我正在创建一个可绘制的戒指,然后将按钮的背景设置为可绘制。图纸中的代码如下所示:

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring"
    android:innerRadius="@dimen/large_inner_radius"
    android:thickness="@dimen/large_thickness"
    android:useLevel="false">

    <solid android:color="@color/large_circle" />

</shape>

这些尺寸在另一个尺寸文件中,在这里

<dimen name="large_inner_radius">200dp</dimen>
<dimen name="large_thickness">10dp</dimen>
200dp
10dp
问题是,我需要能够为不同大小的android屏幕扩展这些绘图功能,并且我希望能够从代码中动态地完成这项工作。我不能只是缩放可拉伸的,因为环的厚度会出错


有人能帮忙吗?

请张贴大的内部辐射图。你这样做是不对的。Android已经开始处理缩放等问题。您可以为不同的屏幕大小或密度定义单独的绘图。您不应该尝试在代码中手动缩放它。看看。我已经研究过如何使用所有不同的DPI和屏幕大小的文件夹,问题是它很快就会变得非常混乱,因为我有一个圆覆盖了另一个圆的外方,因此我为每个屏幕大小创建尺寸文件,如ldpi mdpi hdpi等,并将其保存在各自的值文件夹中,根据您的要求将大小设置为200dp 10dp此值,我仍然需要使用代码以使所有内容正确定位?例如,它是否会低于hdpi/dimens.xml的值?hdpi值是否也在just values文件夹中对值进行超级种子传送?