平板电脑上的Android全屏



我在Android上开发了一个应用。屏幕在手机上显示得很好——例如显示全屏。但当我在我的三星10英寸平板电脑上运行它时,它只覆盖了屏幕的四分之一。这是我的布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content"
                android:background="@drawable/background"
                android:padding="10px">
    <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
                    android:layout_width="fill_parent" 
                    android:layout_height="wrap_content"
                    android:gravity="center" >
        <ImageView
android:id="@+id/mainheader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="30px"
android:layout_y="5px"
android:src="@drawable/mainheader"
/>
        <TextView android:id="@+id/err"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"   
                        android:textColor="#FF0000"
 android:layout_x="80px"
android:layout_y="25px" />
        <TextView android:id="@+id/usernamelbl"
                        android:layout_width="wrap_content"
                        android:layout_height="35px"
                        android:text="User Name"
                         android:layout_x="40px"
    android:layout_y="75px"/> 
        <EditText android:id="@+id/username" 
                        android:layout_width="150px" 
                        android:layout_height="wrap_content" 
                        android:layout_below="@id/err"  
                        android:background="@android:drawable/editbox_background"
                        android:singleLine="true"
                                             android:layout_x="120px"
    android:layout_y="70px"/>
        <TextView android:id="@+id/passwordlbl"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Password" 
                        android:layout_x="40px"
    android:layout_y="110px"/>
        <EditText android:id="@+id/password" 
                        android:layout_width="150px" 
                        android:layout_height="wrap_content" 
                        android:background="@android:drawable/editbox_background"
                        android:layout_x="120px"
    android:layout_y="105px"
                        android:password="true"
                        android:singleLine="true"/>
        <Button android:id="@+id/loginBtn"
                        android:text="Login"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:onClick="login_click"
                                                android:layout_x="50px"
    android:layout_y="150px"
                        />
        <Button android:id="@+id/signupBtn"
                        android:text="Sign Up"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:onClick="signUp_click"
                                                         android:layout_x="130px"
    android:layout_y="150px"/>
    </AbsoluteLayout>
</LinearLayout>

我的manifest xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.mpest"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:label="" android:icon="@drawable/icon">
        <activity android:name="MainActivity"
                  android:label="">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
              <activity android:name=".AddFarmActivity" android:theme="@android:style/Theme.Dialog"></activity>
       <activity android:name=".AddPestStepOneActivity"></activity>
              <activity android:name=".AddPestStepTwoActivity"></activity>
              <activity android:name=".ThankYouActivity"></activity>
                <activity android:name=".ReportListActivity" ></activity>
                <activity android:name=".ReportDetailsActivity" ></activity>
        <activity android:name=".ProfileActivity"   ></activity>
        <activity android:name=".AddPestActivity"></activity>
        <activity android:name=".AddEnvironmentActivity"></activity>
                <activity android:name=".AlertActivity"></activity>
                <activity android:name=".SignUpActivity"></activity>
        <activity android:name=".ChangeUserImageActivity" android:theme="@android:style/Theme.Dialog"></activity>
                <activity android:name=".ReplyActivity" android:theme="@android:style/Theme.Dialog"></activity>
                <receiver android:name=".OnAlarmReceiverActivity"/>
    </application>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
          <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 <uses-permission android:name="android.permission.CAMERA" />
 <uses-feature android:name="android.hardware.camera" />
 <uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>

您的前两个布局标签都设置为wrap_content。这意味着它们只填满屏幕,因为它们需要显示所有的内容。

将它们都改为fill_parent,如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent" 
                android:layout_height="fill_parent" // fill_parent here
                android:background="@drawable/background"
                android:padding="10px">
    <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
                    android:layout_width="fill_parent" 
                    android:layout_height="fill_parent" //and fill_parent here
                    android:gravity="center" >

将这些行添加到您的manifest文件

<supports-screens android:xlargeScreens="true" android:largeScreens="true" android:smallScreens="true" android:normalScreens="true"/>

try

LinearLayout xmlns: android = " http://schemas.android.com/apk/res/android "android: layout_width = "宽和" android: layout_height = "宽和" android:背景= " @drawable/背景"android:填充= " 10 px "

尝试用"fill_parent"代替wrap_content改变你的layout_width值D

我知道这是一个老问题,但我创建了一个工具来按比例缩放平板电脑上的布局。即使你使用dp单位,你的布局看起来也不正确,因为你可能只设计了一个"密度桶"。有四种桶:小的、普通的、大的和超大的(药片)。

你可以在这里找到我的工具和指南:

http://onemanmobile.blogspot.com/2012/04/how-to-scale-your-android-layouts-to.html

最新更新