如何使文本视图从屏幕的26%开始直到96%的屏幕?

时间:2011-06-08 13:45:12

标签: android android-layout textview

我想知道如何让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:

  1. TextView的左上角必须是屏幕的38%(垂直)和26%的屏幕(水平)。

  2. TextView的右下角必须位于屏幕的100%(垂直)和96%的屏幕(水平)。

  3. 这样我可以保证TextView布局总是按照我想要的方式成比例,无论设备的屏幕尺寸如何。

    PS:无论如何,我认为Android上的坐标系统从屏幕的左上角开始(0,0),屏幕右下角的坐标是(100%) ,100%)。

    非常感谢你!

5 个答案:

答案 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)

您还可以使用android:paddingandroid:layout_margin paddingmargin

答案 4 :(得分:0)

稍后编辑:修改为包括滚动。

这是可行的,但它变得非常难看。这是我设法做的(你想要的视图是红色矩形):

enter image description here

我使用了TableLayoutlayout_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>