平板电脑上的Android全屏

时间:2011-12-11 08:00:30

标签: 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>

我的表现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>

5 个答案:

答案 0 :(得分:3)

您的前两个布局代码都设置为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" >

答案 1 :(得分:1)

尝试

LinearLayout xmlns:android =&#34; http://schemas.android.com/apk/res/android" 机器人:layout_width =&#34; FILL_PARENT&#34; 的机器人:layout_height =&#34; FILL_PARENT&#34; 机器人:背景=&#34; @可绘制/背景&#34; 机器人:填充=&#34; 10px的&#34;

答案 2 :(得分:1)

尝试使用&#34; fill_parent&#34; 而不是 wrap_content

更改layout_width值

也许这有助于解决你的问题:D

答案 3 :(得分:1)

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

您可以在此处找到我的工具和指南:

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

答案 4 :(得分:1)

  

在清单文件中添加这些行

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