我应该创建不同的布局文件夹来存储我的xml布局文件。在不同的屏幕尺寸上支持我的应用程序?
我开发了一个应用程序,当添加drawable时,它会自动创建不同的大小,如xdpi ldpi等,但不会自动创建布局xml文件以支持不同的屏幕尺寸。我应该这样做吗?我还将使用支持屏幕标记编辑清单文件以支持不同的大小。这就是全部吗?它还会支持我的风景或肖像模式。请确认一下。我是堆栈和android开发的新手。
编辑: 我相信不同文件夹中的不同布局文件..只会是彼此的副本,只有代码中显示的文件夹名称更改广告
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
这是我的布局xml文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/content_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/app_bar_main"
tools:context="com.example.root.meeransunday.MainActivity">
<Button
android:id="@+id/button1"
android:layout_width="200dp"
android:layout_height="90dp"
android:text="Send Mobile"
android:drawableLeft="@mipmap/sms"
android:layout_alignParentBottom="true"
android:layout_marginRight="-1dp"
android:layout_marginLeft="-3dp"
android:layout_marginBottom="-4dp"
android:onClick="message"/>
<Button
android:id="@+id/button2"
android:layout_width="200dp"
android:layout_height="90dp"
android:text="QR Code"
android:drawableLeft="@mipmap/qr"
android:layout_marginLeft="190dp"
android:layout_marginRight="-20dp"
android:layout_marginBottom="-4dp"
android:layout_alignParentBottom="true"
android:onClick="scan"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:layout_centerHorizontal="true"
android:text=" My Account Balance"
android:textColor="#0D47A1"
/>
<TextView
android:text="PKR 1527.87"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:layout_centerHorizontal="true"
android:drawableLeft="@mipmap/money"
android:textSize="35sp"
android:id="@+id/textView2"
/>
</RelativeLayout>
清单文件:
<supports-screens android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"
android:resizeable="true"/>
但它不适用于4英寸屏幕。
答案 0 :(得分:5)
如果布局相同,则无需创建多个布局文件,您应使用不同的尺寸文件来调整元素的大小。
如果您希望您的应用程序在hdpi设备上看起来与在xxxhdpi上看起来不同,或者如果您有移动设备和平板电脑版本的屏幕,那么您应该使用多个布局文件。
答案 1 :(得分:4)
这应该有用:https://developer.android.com/guide/practices/screens_support.html
无论如何,我认为你应该使用max 2布局xmls(水平视图为1,垂直视图为1)进行活动。
答案 2 :(得分:2)
实际上为不同的Android设备创建不同的xml布局取决于要求。为所有类型的设备只有一个xml布局以避免冗余代码总是好的,但我们可以为所有类型设备创建xml,android具有该功能。
答案 3 :(得分:1)
无需设计所有布局,如果您正在为手机和平板电脑制作应用程序,那么您可以设计2个布局。否则只设计这些 1.肖像 2.风景