Ale*_*qui 6 android android-drawable
我有以下XML:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/customPlayerProgressBg">
<shape>
<gradient
android:startColor="#FF999999"
android:endColor="#FF999999"
/>
</shape>
</item>
<item android:id="@+id/customPlayerProgressSecondary">
<clip>
<shape>
<gradient
android:startColor="#FF5C3C68"
android:endColor="#FF5C3C68"
/>
</shape>
</clip>
</item>
<item
android:id="@+id/customPlayerProgress"
>
<clip>
<shape>
<gradient
android:startColor="#FF5C3C68"
android:endColor="#FF5C3C68"
/>
</shape>
</clip>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
我想通过Java代码更改"customPlayerProgress"和"customPlayerProgressSecondary".怎么能实现呢?
假设您希望在应用程序中将其作为Drawable加载后通过Java代码访问它们,您应该能够执行以下操作:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final LayerDrawable ld = (LayerDrawable) getResources().getDrawable(R.drawable.my_drawable);
final ClipDrawable d1 = (ClipDrawable) ld.findDrawableByLayerId(R.id.customPlayerProgress);
final ClipDrawable d2 = (ClipDrawable) ld.findDrawableByLayerId(R.id.customPlayerProgressSecondary);
/* modify ld, d1 and d2 by calling their methods here */
}
Run Code Online (Sandbox Code Playgroud)
还要看一下这个想法.
| 归档时间: |
|
| 查看次数: |
4608 次 |
| 最近记录: |