Android 如何以编程方式向左移动复选框文本
我想以编程方式将复选框移到文本的右侧,我尝试了一些方法,但没有成功 这是我的密码:Android 如何以编程方式向左移动复选框文本,android,Android,我想以编程方式将复选框移到文本的右侧,我尝试了一些方法,但没有成功 这是我的密码: public class CheckBoxRegularFa extends AppCompatCheckBox { public CheckBoxRegularFa(Context context) { super(context); init(); } public CheckBoxRegularFa(Context context, AttributeSet attrs) {
public class CheckBoxRegularFa extends AppCompatCheckBox {
public CheckBoxRegularFa(Context context) {
super(context);
init();
}
public CheckBoxRegularFa(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public CheckBoxRegularFa(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
setTypeface(AppController.getInstance().getFont(FontType.Medium));
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if(Build.VERSION.SDK_INT>=21)
{
ColorStateList colorStateList = new ColorStateList(
new int[][]{
new int[]{-android.R.attr.state_enabled},
new int[]{android.R.attr.state_enabled}
},
new int[] {
Color.BLACK
,getResources().getColor(R.color.color_primary)
}
);
setButtonTintList(colorStateList);
}
}
}
XML中有一些解决方案,但我希望以编程方式实现这一点。
感谢您的帮助要以编程方式将复选框移到文本右侧,您必须将布局方向设置为从右向左,如下所示:
checkBoxRegularFa.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
checkBoxRegularFa.setLayoutDirection(View.LAYOUT_DIRECTION_LTR);
从右向左的输出:
如果要将其更改回初始状态,则从左到右的将如下所示:
checkBoxRegularFa.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
checkBoxRegularFa.setLayoutDirection(View.LAYOUT_DIRECTION_LTR);
从左到右的输出: