我正在编写一个简单的Android应用程序,需要一些应该从右到左书写的文本。所以我使用了TableRow如下:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1">
<TableRow>
<TextView
android:id="@+id/ada"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_column="1"
android:text="Open..."
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView
android:id="@+id/myview"
android:layout_marginRight="34dip"
android:layout_marginLeft="6dip"
android:layout_height="100dip"
android:layout_width="wrap_content"
android:layout_column="1"
android:text="Ctrl-O"
android:gravity="right"
/>
</TableRow>
</TableLayout>
在内部活动中,我写道:
TextView myView=(TextView)findViewById(R.id.myview);
myView.setText("welcome 1 ");
效果很好,“欢迎1”位于右侧(根据需要)。但是当文本长度增加时,TextView不会正确显示文本,并且每行的结尾都不在屏幕之外。这是一个截图,如果我更改上面的代码如下:
myView.setText("welcome 1 welcome 2 welcome 3 welcome 4 welcome 5 welcome 6 welcome 7 welcome 8 welcome 9 welcome 10 ");
我们将不胜感激。
答案 0 :(得分:1)
您的TextView被android:layout_marginLeft
属性推向右侧。边距位于视图之外,您已将其设置为包装所有内容。您可能希望使用android:layout_paddingLeft
代替。填充位于视图本身内部,因此不会添加到父级占用的空间中。