我无法设置按钮的填充以使内容(文本+可绘制)居中。
到目前为止,这是我去过的地方
Button done = new Button(this)
{
Text = GetText((int)typeof(Resource.String).GetField("goalreached").GetValue(null))
};
done.LayoutParameters = doneButtonParams;
done.SetBackgroundResource(Resource.Drawable.DoneGreenYakaButton);
done.Typeface = Typeface.CreateFromAsset(Assets, "fonts/Ubuntu-Medium.ttf");
done.SetTextColor(Color.White);
done.SetTextSize(Android.Util.ComplexUnitType.Sp, 12);
doneButtonParams.ColumnSpec = GridLayout.InvokeSpec(0, 2); // Setting colspan = 2
var check = GetDrawable(Resource.Drawable.ic_check_16px);
check.SetBounds(0, 0, 32, 32); // Set the image size
check.SetTint(Color.White); // Set the image color
done.SetCompoundDrawables(null, null, check, null);
结果是这样的:
很显然,我希望复选标记更靠近文本,并与按钮左侧的文本具有相同的填充。
我在这里想念什么?
谢谢。
答案 0 :(得分:0)
我对用于移动开发的xamarin不熟悉,但是Android的原生方法是在按钮本身上设置可绘制的填充。 setCompoundDrawablePadding(int)
是用于调整文本和可绘制对象之间距离的本地方法。
例如:
done.setCompoundDrawablePadding(15);
编辑:我意识到您正在尝试在选中标记的外部添加填充,这可以通过普通的旧setPadding(int, int, int, int)
来实现。
例如:
setPadding(0,0,15,0);