【发布时间】:2020-06-29 08:39:21
【问题描述】:
我想以编程方式生成与此类似的层列表
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#1e1e1e" />
<size android:height="45dp"
android:width="82dp" />
</shape>
</item>
<item
android:drawable="@drawable/ic_audio"
android:gravity="center" />
结果:
主要思想是将ic_audio居中。为了以编程方式执行此操作,我尝试了
LayerDrawable.setLayerGravity();
但这需要 API >= 23 而我目前的最小值是 21。我想不出任何解决方法来获得所需的输出。
如果我删除了
android:gravity="center"
结果:
这会拉伸 ic_audio 以匹配前一层的大小(至少我是这么认为的)。 有什么建议或解决方法吗?
【问题讨论】:
-
您现在如何以编程方式创建它?即拉伸版本也发布该代码
-
目前,我没有以编程方式创建它,而是从 xml 资源加载它:LayerDrawable layerDrawable = (LayerDrawable) context.getDrawable(R.drawable.media_art);
标签: android drawable xml-drawable layer-list