0

我在 Android 中的 XML 遇到问题。在图形布局视图中,它看起来正是我想要的样子,但是当我在 10.1" 屏幕上运行模拟时,它在宽度上与父级匹配,但在高度上不匹配。当我在 10.1" 平板电脑上运行模拟时,它与父级都不匹配宽度或高度。这是我的代码,

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:fillViewport="true">
  <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content" android:background="#fff">

        <!--  Header  Starts-->
        <LinearLayout android:id="@+id/header"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@layout/header_gradient"
                android:paddingTop="5dip"
                android:paddingBottom="5dip">
                <!-- Logo Start-->
                <ImageView android:src="@drawable/logo"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="10dip"/>
                <!-- Logo Ends -->
        </LinearLayout>
        <!--  Header Ends --> 
        <!-- Footer Start -->
        <LinearLayout android:id="@+id/footer"
                android:layout_width="match_parent"
                android:layout_height="90dip"
                android:background="@layout/footer_repeat"
                android:layout_alignParentBottom="true">
        </LinearLayout>
        <!-- Footer Ends --> 

        <!-- Registration Form -->
        <LinearLayout
          xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:padding="10dip"
          android:layout_below="@id/header">
          <!-- Full Name Label -->
          <TextView android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textColor="#372c24"
                android:text="Full Name"/>
          <EditText android:id="@+id/reg_fullname" 
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dip"
                android:singleLine="true"
                android:layout_marginBottom="20dip"/>
          <!--  Email Label -->
          <TextView android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textColor="#372c24"
                android:text="Email"/>
          <EditText android:id="@+id/reg_email" 
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dip"
                android:singleLine="true"
                android:layout_marginBottom="20dip"/>
          <!-- Password Label -->
          <TextView android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textColor="#372c24"
                android:text="Password"/>
          <EditText android:id="@+id/reg_password" 
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:password="true"
                android:singleLine="true"
                android:layout_marginTop="5dip"/>
          <!-- Register Button -->      
          <Button android:id="@+id/btnRegister" 
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dip"
                android:text="Register New Account"/>
          <!-- Link to Login Screen -->
          <TextView android:id="@+id/link_to_login" 
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="40dip"
                android:layout_marginBottom="40dip"
                android:text="Have an account? Login here"
                android:gravity="center"
                android:textSize="20dip"
                android:textColor="#025f7c"/>

        </LinearLayout>
        <!-- Registration Form Ends -->


  </RelativeLayout>
</ScrollView>

这就是它在图形布局中的显示方式,也是我想要的样子,

在此处输入图像描述

这是它在 android 虚拟机 3.2 模拟上的样子,

在此处输入图像描述

最后,这就是它在我的三星 Galaxy 10.1" 平板电脑上的样子,

在此处输入图像描述

谁能看到我哪里出错了?谢谢

4

3 回答 3

1

只需添加 android:largeScreens="true"android:xlargeScreens="true"

于 2012-08-05T16:21:13.370 回答
0

似乎活动正在调用错误的布局.xml!

检查您的登录活动是否设置了正确的视图。

setContentView(R.layout.thelayoutyouareusing);

此外,您可能将错误的活动设置为应用程序启动时启动的登录(第一个)活动。您是否检查了您的清单文件:

<activity android:name=".YourFirstActivity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

第一个活动是带有代码意图过滤器部分的活动

于 2012-08-05T16:12:53.827 回答
0

如果没有任何效果,则将具有较大值的 minWidth 属性赋予最顶层的父布局标记,例如

 android:minWidth="1400dp"

它对我很有效,即使对于小屏幕布局也没有造成任何问题

于 2017-09-05T12:20:37.777 回答