如何在更大的屏幕上启用智能手机大小的Android应用程序

时间:2012-06-05 09:14:30

标签: android-layout android

我的问题可以归结为一张图片,可以在这个位置看到: http://imgur.com/qOiyl

该应用程序最初是为智能手机开发的,在小分辨率下没有问题,应用程序填满了整个屏幕。但是在平板电脑中,正如您所看到的,只使用了与智能手机相对应的尺寸。

我想这意味着某个地方的高度和宽度值很难设置。但我看不到哪里!在哪里可以为所有应用程序设置高度和宽度(所有活动都做同样的事情)。

这是我的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.dombox.app"
android:versionCode="11"
android:versionName="2.0.4" >

<uses-sdk android:minSdkVersion="3" />

<uses-permission android:name="android.permission.WRITE_SETTINGS" >
</uses-permission>
<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name" >
    <activity
        android:name=".activity.DomboxHome"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <uses-library android:name="android.test.runner" />

    <activity
        android:name=".activity.list.ZonesList"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="Dombox.MENU" />
        </intent-filter>
    </activity>
    <activity
        android:name=".activity.list.EquipementsList"
        android:label="@string/app_name" >
    </activity>
    <activity
        android:name=".activity.PullToRefreshActivity"
        android:label="@string/app_name" >
    </activity>
    <activity android:name="org.achartengine.GraphicalActivity" />

    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:label="Tests for Android Dombox"
        android:targetPackage="com.application.androiddombox" >
    </instrumentation>
    <activity
        android:name=".activity.list.SuiviConsoList"
        android:label="@string/app_name" >
    </activity>
    <activity android:name=".activity.list.PlanningList"       android:label="@string/app_name"></activity>
</application>

这是我的布局之一(全部在文件夹/ res / layout /中)

<?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:orientation="horizontal">
<fragment
    android:name="com.dombox.app.fragment.MenuFragment"
    android:layout_width="0dp"
    android:layout_height="fill_parent"
    android:id="@+id/menu_fragment"
    android:layout_weight="30">
    <!-- Preview: layout=@layout/list_text -->
</fragment>

<fragment
    android:name="com.dombox.app.fragment.SettingsFragment"
    android:layout_width="0dp"
    android:layout_height="fill_parent"
    android:id="@+id/settings_fragment"
    android:layout_weight="70">
    <!-- Preview: layout=@layout/settings -->
</fragment>
</LinearLayout>

你有什么想法吗?

4 个答案:

答案 0 :(得分:2)

我认为您的应用正在兼容模式下运行,请将此代码放在清单文件中的<application>标记之前。

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

希望有效,

答案 1 :(得分:0)

我认为您需要将android:weightSum="100"设置为 LinearLayout

答案 2 :(得分:0)

您可以尝试添加

<supports-screens android:xlargeScreens="true" />
AndroidManifest.xml中的

。这告诉系统您的应用程序与xlarge屏幕(平板电脑)兼容,并且您的应用程序应该拉伸以填充屏幕。

答案 3 :(得分:0)

是的,你显然缺少一个重要的东西。

清单文件中没有supports-screen标记,因此默认情况下“normalScreens”设置为true而其他所有标记都设置为false。

Here is the link for more info on Supporting Multiple Resolution.

Also check this link