右对齐文本单选按钮android编程

时间:2014-12-16 16:53:09

标签: android constructor right-to-left text-alignment android-radiobutton

您好我需要创建一个自定义单选按钮类,每个状态和RTL文本有两个不同的图片。我按下了按钮,但我无法为api 8和upper编写文本RTL。如果有人可以帮助我,我会很高兴

RadioGroup crdg = (RadioGroup) findViewById(R.id.radioGroup11);

制作单选按钮

rdbt1 = new RadioButton(new ContextThemeWrapper(
            getApplicationContext(), R.style.styleName));

    rdbt1.setButtonDrawable(android.R.color.transparent);

rdbt1.setText("for example(RTL text)");

将RadioButton添加到Radio Group

crdg.addView(rdbt1);

styleName是

<style name="styleName" parent="android:Widget.CompoundButton.RadioButton"> <item name="android:button">@null</item> <item name="android:drawableRight">@drawable/rdb_question_selector</item> </style>

2 个答案:

答案 0 :(得分:0)

您只需将引力设置为Gravity.END 例如:

 RadioButton tempRadioButton = new RadioButton(this);
 tempRadioButton.setGravity(Gravity.END);
 tempRadioButton.setText("for example(RTL text)");

这将告诉Android将文本与&#34; end&#34;尊重RTL语言的观点。

答案 1 :(得分:0)

添加此

  

forceRTLIfSupported();

你的oncreate()

中的

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
    private void forceRTLIfSupported()
    {
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1){
            getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
        }
    }