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



我的问题可以用一张图片来概括,可以在这个位置看到:https://i.stack.imgur.com/GaDEw.jpg

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

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

这是我的安卓清单.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>

你有什么想法吗?

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

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

希望有效,

我认为您需要将android:weightSum="100"设置为线性布局

您可以尝试添加

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

在 AndroidManifest.xml 中。这会告知系统你的应用与 xlarge 屏幕(平板电脑)兼容,并且你的应用应拉伸以填充屏幕。

是的,你显然错过了一个重要的东西。

您的清单文件中没有支持屏幕标记,因此默认情况下,"normalScreens"设置为 true,所有其他设置为 false。

以下是有关支持多种分辨率的详细信息的链接。

另请查看此链接

最新更新