我需要在视图上定位文本:
文本“Some more text”应位于底部|水平居中
文本“Short text”应右对齐,但距离屏幕顶部约10%
文本“x.x.x.x”应对齐到屏幕的中心(第一象限的右侧/底部对齐)
文本“Some long text ..”应对齐到屏幕的第三象限的左上角,但它应该横跨屏幕的水平中心线。
我需要在视图上定位文本:
文本“Some more text”应位于底部|水平居中
文本“Short text”应右对齐,但距离屏幕顶部约10%
文本“x.x.x.x”应对齐到屏幕的中心(第一象限的右侧/底部对齐)
文本“Some long text ..”应对齐到屏幕的第三象限的左上角,但它应该横跨屏幕的水平中心线。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/r1"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/short_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Short Text"
android:gravity="right"
android:layout_marginTop="30dip"
android:layout_alignParentTop="true" />
<TextView
android:id="@+id/more_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Some More Text"
android:gravity="center"
android:layout_alignParentBottom="true" />
<TextView android:id="@+id/centerpoint"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="0dip"
android:height="0dip"
/>
<TextView android:id="@+id/run_fox"
android:text="Run, fox, run!"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/centerpoint"
android:layout_toLeftOf="@id/centerpoint"
/>
<TextView
android:layout_below="@id/centerpoint"
android:text="The quick brown fox jumped over the lazy dog, who had been a frog, and then got features and ran slowly."
android:layout_alignRight="@id/centerpoint"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</RelativeLayout>
如果我理解正确,您想在文本视图上简单地放置一系列字符串。您可以在XML中完成这个操作。一个方便的GUI工具是DroidDraw,您可以在浏览器或桌面上运行它。我发现它对于某些GUI事情非常有用。除此之外,您还可以绘制一个视图,就像这样...
class DrawOnTop extends View {
public DrawOnTop(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
public void onDraw(Canvas canvas) {
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED);
paint.setTextSize(15);
Paint paint2 = new Paint();
canvas.drawText("Test", 30, 30, paint);
}
}