Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.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
以编程方式为ScaleDrawable构造函数使用Android scaleGravity标志 问题:_Android - Fatal编程技术网

以编程方式为ScaleDrawable构造函数使用Android scaleGravity标志 问题:

以编程方式为ScaleDrawable构造函数使用Android scaleGravity标志 问题:,android,Android,如何以编程方式访问scaleGravity标志值 情况: 我正在自定义视图中使用scaledravables。 这些scaledrawable需要将其scaleGravity设置为居中 如果我从XML扩展我的ScaleDrawables,我会使用android:scaleGravity=“center” 这将为全局属性资源符号设置值为0x11的标志“中心” 但是,我正在动态创建scaledRavables,因此我使用以下形式的构造函数: ScaleDrawable(Drawable drawab

如何以编程方式访问scaleGravity标志值

情况: 我正在自定义
视图中使用
scaledravables

这些
scaledrawable
需要将其
scaleGravity
设置为居中

如果我从XML扩展我的
ScaleDrawables
,我会使用
android:scaleGravity=“center”

这将为全局属性资源符号设置值为0x11的标志“中心”

但是,我正在动态创建
scaledRavables
,因此我使用以下形式的构造函数:

ScaleDrawable(Drawable drawable, int gravity, float scaleWidth, float scaleHeight)
scaleGravity
“center”标志值0x11的整数等效值为17,因此我可以使用:

ScaleDrawable scaleDrawable = new ScaleDrawable(sourceDrawable, 17, 1f, 1f);
但是,硬编码值17对于可读性不是很好。
我可以为自定义
视图
类定义常量:

private static final int CENTER = 17;  
但这似乎是不必要的重复


那么如何直接从android.R.attr.scaleGravity
获取标志值呢?

重力参数不应该类似于重力。。。我假设,由于重力类中的许多常量对scaleGravity无效,所以会有类似于scaleGravity类的东西。但我想这会让事情变得过于复杂。谢谢