以编程方式在Xamarin.Android上绘制DrawableLeft?

时间:2016-11-19 10:59:54

标签: c# android xamarin xamarin.android android-drawable

我正在开发Xamarin Android应用程序,我通过styles.xml将以下样式设置为按钮

<style name="button_style_1" parent="@style/button_style_default">
  <item name="android:drawableLeft">@drawable/my_icon</item>
  <item name="android:drawablePadding">28dp</item>
  <item name="android:padding">5dp</item>
</style>

一切正常但现在我需要以编程方式将上述属性设置为我的按钮。 在Xamarin.Android中最好的方法是什么?

1 个答案:

答案 0 :(得分:3)

drawableLeft

 var draw = ContextCompat.Drawable(this, Resource.Drawable.your_drawable)
 button.SetCompoundDrawablesWithIntrinsicBounds(draw, null, null, null);
  

注意:this是活动的上下文。

drawablePadding使用CompoundDrawablePadding

padding使用SetPadding

重要提示:

  带有CompoundDrawablePaddingnegative padding

SetPadding   使用positive padding计数器创建centered effect

看看它并告诉我。