我想以下列方式将我的文字对齐在一个按钮上:
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元素(按钮)的解决方案?
答案 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。