【发布时间】:2017-08-06 08:41:32
【问题描述】:
我正在创建一个需要不同屏幕尺寸布局的应用。我已经搜索了一段时间,并且已经将屏幕规格添加到我的清单中,并为每种屏幕尺寸创建了不同的布局文件夹。
当我使用平板电脑模拟器从 android studio 运行模拟器时,它会根据需要运行 layout-xlarge 文件。但是在所有其他情况下,它只运行 layout 文件。
这对我来说是个问题,因为我还需要 layout-large 文件才能工作。
我想知道这是否与我的代码有关,或者这是一个模拟器问题?
编辑: 安卓清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="pckg_name">
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<supports-screens android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</application>
layout-large 中的示例 xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="@mipmap/background1">
<Button
android:id="@+id/create_an_account_initial_page"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Large screen"
android:textSize="17sp"
android:textStyle="bold"
android:textColor="@android:color/white"
android:background="@drawable/button_rectangle_red"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="10dp"
android:layout_marginBottom="31dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"/>
</RelativeLayout>
【问题讨论】:
-
在 android studio 中,您可以模拟当前流通的手机。这工作正常,当我查看模拟器设置中的“屏幕尺寸”特征时,它显示“大”,然后只读取
layout文件而不是layout-large,但使用平板电脑它可以工作并读取layout-large文件 -
改正到平板上面读取正确的
layout-xlarge文件 -
您在模拟什么设备,您希望提供较大的布局?
-
目前在nexus 6上运行。
标签: android android-layout android-studio android-emulator