响应式设计适用于所有安卓设备

8

我将使用两种不同的方法来实现在安卓设备上的响应式设计。

方法一:我会在不同的文件夹中使用不同的dimens.xml文件。

values-hdpi
values-ldpi
values-mdpi
values-xhdpi  
values-xxhdpi

方法2。 我将所有的布局复制到

layout
layout-large
layout-small
layout-xlarge

文件夹有不同的高度、宽度和其他属性。

当我使用第一种方法时,我无法获得正确的响应式设计;而当我使用第二种方法时,可以获得正确的设计,但是会增加应用程序的大小。

因此,请告诉我除了我的两种方法之外,实现100%响应式设计的最佳流程。

2个回答

2

我通常会进入 valuesvalues-large 等文件夹,并在那里放置 dimens.xml 文件,其中我为每个屏幕尺寸类别指定大小。 values 是“回退”,如果我没有为特定的尺寸类别指定任何值,则它包含默认值。 在布局中,我像这样使用它:

android:width="@dimen/width_for_this_view"

values/dimens.xml 中定义:

<dimen name="width_for_this_view">30dp</dimen>

您可以为不同的(大、普通、小等)文件夹定义不同的大小。


嗨,我之前使用了values-large、values-normal和values-small,但并没有为所有设备得到正确的设计。我想你可能使用了不止这三个文件夹(large、normal、small),你能告诉我其他文件夹的名称吗? - Bahu
我使用 normal, large, xlarge 作为主要的分类。我还使用 land 来表示横屏模式,你也可以为宽屏设备准备 long。你可以在这里找到有关限定符的更多详细信息:http://developer.android.com/guide/practices/screens_support.html - Gabor Novak

1
您可以使用谷歌库中的PercentRelativeLayout,使用此库,您可以通过百分比设置views宽度高度边距,这非常棒,因为在所有屏幕上它们看起来都一样,当然编码也不难。以下是示例:
<android.support.percent.PercentRelativeLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
     <ImageView
         app:layout_widthPercent="50%"
         app:layout_heightPercent="50%"
         app:layout_marginTopPercent="25%"
         app:layout_marginLeftPercent="25%"/>
 </android.support.percent.PercentRelativeLayout>

你必须在你的build.gradle文件中添加这一行

dependencies {
    compile 'com.android.support:percent:23.2.0'
}

Google官方文档 https://developer.android.com/reference/android/support/percent/PercentRelativeLayout.html

希望这对您有所帮助!


嗨,我正在使用Eclipse进行这个项目。如果您不介意,能否告诉我Eclipse的流程? - Bahu
这对我来说可能有点难,因为我没有在 Eclipse 中导入:/ - Kristiyan Varbanov
哎呀,我会检查一下的。 - Bahu
这里是库 https://github.com/JulienGenoud/android-percent-support-lib-sample 但不确定如何设置它到你的Eclipse项目中... PS... 只需使用Android Studio,它更好;) - Kristiyan Varbanov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接