-1

我设计了一个带有一些视图(列表视图、按钮等)的布局。当我将我的应用程序安装到 Android 手机中时,视图的位置与我设计的不同。某些按钮仅部分可见。谁能告诉我如何修复布局中视图的位置?这是我用来设计的代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    android:background="@drawable/bg4" android:orientation="vertical"
    android:scrollbarAlwaysDrawVerticalTrack="true">

    <LinearLayout android:id="@+id/linearLayout1"
        android:layout_width="fill_parent" android:layout_height="10dp"
        android:orientation="horizontal">

        <TextView android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="3dp" android:text=" " />
    </LinearLayout>

    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:orientation="horizontal">

        <ImageView android:id="@+id/imageView1"
            android:layout_width="100dp" android:layout_height="60dp"
            android:src="@drawable/logo" />

        <TextView android:id="@+id/Loginas"
            android:layout_width="120dp" android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginBottom="3dp"
            android:layout_marginLeft="3dp" android:gravity="center"
            android:text="Logged in as..." android:textColor="#802A2A"
            android:textSize="18dp" android:typeface="serif" />

        <Button android:id="@+id/btnlgout"
            android:layout_width="80dp" android:layout_height="30dp"
            android:layout_gravity="bottom"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp" android:background="@drawable/logout"
            android:onClick="logout" />
    </LinearLayout>

    <LinearLayout android:id="@+id/linearLayout2"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp" android:orientation="horizontal">

        <TextView android:id="@+id/count"
            android:layout_width="90dp" android:layout_height="25dp"
            android:layout_marginLeft="5dp" android:layout_weight="1"
            android:text="Count : 4" android:textColor="#802A2A"
            android:textSize="15dp" />

        <Spinner android:id="@+id/refresh"
            android:layout_width="150dp" android:layout_height="25dp"
            android:background="@drawable/drop" />

        <Button android:id="@+id/btnpreferences"
            android:layout_width="90dp" android:layout_height="30dp"
            android:layout_marginLeft="10dp" android:background="@drawable/pref"
            android:onClick="getPreferences" />
    </LinearLayout>

    <LinearLayout android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp" android:gravity="center_horizontal"
        android:orientation="vertical">

        <LinearLayout android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:orientation="horizontal">

            <TextView android:id="@+id/column1"
                android:layout_width="70dp" android:layout_height="wrap_content"
                android:text="column1" android:textStyle="bold" />

            <TextView android:id="@+id/column2"
                android:layout_width="70dp" android:layout_height="wrap_content"
                android:text="column2" android:textStyle="bold" />

            <TextView android:id="@+id/column3"
                android:layout_width="70dp" android:layout_height="wrap_content"
                android:text="column3" android:textStyle="bold" />

            <TextView android:id="@+id/column4"
                android:layout_width="70dp" android:layout_height="wrap_content"
                android:text="column4" android:textStyle="bold" />
        </LinearLayout>

        <ListView android:id="@+id/listViewTickets"
            android:layout_width="match_parent"
            android:layout_height="200dp" android:layout_gravity="center_horizontal"
            android:layout_marginTop="10dp">
        </ListView>
    </LinearLayout>

    <LinearLayout android:id="@+id/linearLayout1"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_weight="1" android:orientation="horizontal">

        <TextView android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:text=" " />
    </LinearLayout>

    <LinearLayout android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_marginBottom="80dp" android:orientation="horizontal">

        <Button android:id="@+id/btnNew"
            android:layout_width="80dp" android:layout_height="30dp"
            android:background="@drawable/btnnew" />

        <Button android:id="@+id/btnUpdate"
            android:layout_width="80dp" android:layout_height="30dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp" android:background="@drawable/edit" />
    </LinearLayout>
</LinearLayout>
4

4 回答 4

0

如果您使用 RelativeLayout 会更好,这样您就可以很好地安排视图。

于 2014-05-20T07:00:07.460 回答
0

在您使用恒定宽度的视图中的线性布局内部。如果您使用相同的重量总和并按重量提供宽度会更好。

于 2012-05-14T07:05:12.673 回答
0

您应该阅读一些布局实践,例如Romain Guy 的布局技巧,并考虑使用比LinearLayout.

您还应该将组件相对于彼此及其父组件定位,这是您可以实现在所有屏幕/分辨率上看起来都相同的正确布局的方式。

于 2012-05-14T07:13:16.930 回答
0

使用滚动视图:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@color/cherry"
    android:orientation="vertical" >

// your components

</RelativeLayout>

</ScrollView>
于 2012-05-14T07:00:19.863 回答