如何对齐按钮上的部分文本?

时间:2011-12-13 12:58:28

标签: java android button

我想以下列方式将我的文字对齐在一个按钮上:

 
Thickness         20mm

我希望厚度与左边对齐,值(20mm)与按钮右边对齐。我最初选择的是

thickness_button.setText(res.getString(R.string.THICKNESS)
                              +"\t\t\t\t\t\t\t\t\t\t"+value);  

这最初有效,但是当我更改语言环境时,THICKNESS字符串会相应更改并且非常长,因此值会被推送到下一行,如下所示:

 
Thickness         
20mm

如何解决此问题?有没有涉及更改UI元素(按钮)的解决方案?

3 个答案:

答案 0 :(得分:1)

按钮与TextView / View没有太大区别。我建议不使用Button并使用带有2个TextView的FrameLayout,其布局重力为LEFT和RIGHT。

只需在FrameLayout上添加一个点击监听器,就可以构建一个按钮。

    frameLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //...
        }
    });



<FrameLayout
        android:id="@+id/mybutton"
        android:layout_width="150dp"
        android:layout_height="50dp">   
        <TextView
            android:id="@+id/mytext"
            android:textColor="#ff000000"
            android:layout_gravity="center_vertical|left"
                android:text="XXX"
        />
        <TextView
            android:id="@+id/myvalue"
            android:textColor="#ff000000"
            android:layout_gravity="center_vertical|right"
                android:text="YYY"
        />
/>

答案 1 :(得分:0)

即使你明确提到“不改变UI元素”,答案是使用带有两个textview的布局(一个左对齐,另一个右对齐),并给出这个布局的按钮外观。

我找不到任何可以限制你走这条路的正当理由。

答案 2 :(得分:0)

我认为你不能用Button做到这一点。 您必须使用布局和两个TextView创建自己的视图。并使用该视图而不是Button。