我想知道如何让TextView显示如下图所示:
small http://raphaeu.com/gvt/img_forum_small.jpg average http://raphaeu.com/gvt/img_forum_medium.jpg big http://raphaeu.com/gvt/img_forum_large.jpg
换句话说,我需要能够以下列方式定位TextView:
TextView的左上角必须是屏幕的38%(垂直)和26%的屏幕(水平)。
TextView的右下角必须位于屏幕的100%(垂直)和96%的屏幕(水平)。
这样我可以保证TextView布局总是按照我想要的方式成比例,无论设备的屏幕尺寸如何。
PS:无论如何,我认为Android上的坐标系统从屏幕的左上角开始(0,0),屏幕右下角的坐标是(100%) ,100%)。
非常感谢你!
答案 0 :(得分:1)
通常,Android中的定位视图是以XML格式完成的。看看这篇文章,它肯定会对你有所帮助:Declaring Layout
答案 1 :(得分:1)
您可以使用android:layout_weight参数执行此操作。如果您在LinearLayout中有2个视图,并且希望第一个视图为25%,而第二个75%视图将其权重设置为75和25(即以相反的顺序)。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="4">
<View
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="70" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="26"
android:text="Text" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="96" />
</LinearLayout>
答案 2 :(得分:0)
如果您不介意以编程方式创建视图,则可以在运行时找到屏幕大小,然后乘以在适当位置启动文本视图所需的常量。
答案 3 :(得分:0)
答案 4 :(得分:0)
稍后编辑:修改为包括滚动。
这是可行的,但它变得非常难看。这是我设法做的(你想要的视图是红色矩形):
我使用了TableLayout
和layout_weight
属性。
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow android:layout_weight="38" />
<TableRow android:layout_weight="62">
<TextView android:layout_weight="26" />
<ScrollView android:layout_weight="70"
android:layout_height="match_parent"
android:layout_width="0dp"
android:background="#ff0000">
<TextView android:layout_width="match_parent"
android:layout_weight="match_parent" />
</ScrollView>
<TextView android:layout_weight="4" />
</TableRow>
</TableLayout>