在Android中构建响应式UI

时间:2019-04-02 19:22:43

标签: android android-studio responsive-design

我是android和android studio的新手。

我正在研究一个应针对所有屏幕进行优化的项目。

我的应用程序以纵向模式运行,因此我在运行之前和处于运行状态时都锁定了“横向”。

现在我快要死了。我想知道哪个项目在设计上很重要?

在一篇文章中,我读到我应该为活动设置4种布局(小,常规,大和xlarge),但是当我在屏幕尺寸为5.0“的android studio模拟器中午餐我的应用程序时,它运行成功,但是当我在具有5.0英寸屏幕的真实设备上运行它,但我的布局未在屏幕上完全显示。

我在另一篇文章中读到,对于响应式设计,我应该使用所有密度(ldpi,mdpi,hdpi等)

现在我很困惑如何防止在Android设计中对项目的位置和大小进行硬编码。

请帮助我,让我学习这个问题非常必要

1 个答案:

答案 0 :(得分:0)

您可以使用此库https://github.com/intuit/sdp来构建针对所有屏幕优化的自适应布局。

它实际上呈现了一个称为sdp(可缩放dp)的新比例单位。

这里是将依赖项添加到build.gradle文件后如何使用它的示例

<LinearLayout
        android:id="@+id/give_us_a_review_landmine_main_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical"
        android:paddingBottom="@dimen/_27sdp"
        android:paddingLeft="@dimen/_43sdp"
        android:paddingRight="@dimen/_43sdp"
        android:paddingTop="@dimen/_50sdp" >

     <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Intuit"
            android:textColor="@android:color/black"
            android:textSize="@dimen/_40sdp"/>

</LinearLayout>

在此示例中,您可以看到我使用sdp而不是dp。

您可以尝试一下,甚至可以看到textSize也会根据屏幕调整大小,并保持相同的textSize /分辨率。