我的问题可以用一张图片来概括,可以在这个位置看到: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。
以下是有关支持多种分辨率的详细信息的链接。
另请查看此链接