区块链技术博客
www.b2bchain.cn

Android基础 – 如何做鲁棒性更高的布局2求职学习资料

本文介绍了Android基础 – 如何做鲁棒性更高的布局2求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

前情提要

这是一篇写给入坑Android开发新手的文章,它可能不太适合老手阅读,也可能带有一些我个人的理解和见地,但我是衷心希望更多的新人开发者能从这篇文章中获取知识,让我们一同进步。当然了,其中可能不可避免的会存在一些遗漏和错误,也希望大家多多指正。

上一篇:
《Android基础 – 如何做鲁棒性更高的布局1》

本篇我将阐述如何将自己的布局设计打造成适用于绝大部分设备显示而不会出问题。

关于字号单位

你也许会看过某本教程,告诉你字号要用sp作单位,但事实上,与界面元素保持一致的单位才是正确的选择。
你肯定不想你的APP到了别的设备上,因为系统不一样而引发界面元素大小和文字的字号大小发生不符合预期的显示错误,那么请保持界面中所有元素的测量单位统一,例如你的View使用dp作为单位测量,那么字号也用dp是没有任何问题的,这虽然可能导致用户手动调整系统设置中的字体大小时,APP中的字号并不发生变化,但它绝对是最稳妥的设计方法之一,对于自定义字号的需要,后续我会专门出文章讲解如何实现。
为什么推荐全部使用dp作为计量单位,原因是dp与实际分辨率px之间存在像素密度转换比,而这可以保证你的APP在绝大多数正确设置dpi的设备上保持一致符合预期的显示效果,例如
Android基础 - 如何做鲁棒性更高的布局2
可以看到,尽管在第二台设备上可能显得有些挤,但各元素依然保持着相对的显示大小正确。

关于如何构建布局

我们可能常常遇到一个界面内的元素设计是纵向的,例如一些表单填写界面
Android基础 - 如何做鲁棒性更高的布局2
这时你最好需要考虑在低分辨率的设备上,这个表单可能无法显示完全,那么我们势必是需要一个可以上下滚动的布局来保证界面的可靠性。
另外,一旦键盘(输入法)弹出,那么界面内容布局可能只有一半的显示面积,此时我们必须保证输入框在可见的视野内,如何实现这些,你需要ScrollView。
我们看看最佳的实际布局该如何编写:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:app="http://schemas.android.com/apk/res-auto"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:background=/colorPrimary"     android:fitsSystemWindows="true"     android:focusable="true"     android:focusableInTouchMode="true"     android:orientation="vertical"     tools:context=".activity.PointDetailsActivity">      <!--这是标题头布局-->     <RelativeLayout         android:layout_width="match_parent"         android:layout_height="55dp">          ......      </RelativeLayout>      <!--这是内容布局-->     <ScrollView         android:layout_width="match_parent"         android:layout_height="match_parent"         android:background=/rect_body_top"         android:clipToPadding="false">          <!--使用线性布局构建内容模块-->         <LinearLayout             android:id="@+id/box_form"             android:layout_width="match_parent"             android:layout_height="match_parent"             android:orientation="vertical"             android:paddingLeft="10dp"             android:paddingRight="15dp"             android:paddingBottom="15dp">              ......          </LinearLayout>      </ScrollView>  </LinearLayout>

这样,在低分辨率设备上显示界面可以正常上下滚动,同时当点击内容区域的输入框,输入法弹出时,界面会自动上下缩小,保证输入框部分在合理的视野范围内,提供最佳的输入体验。

尾巴

本篇介绍了两个构建界面时的细节点,以帮助你更好的完成界面布局的实现,移动端相对而言最重要的适配,实际上就是界面布局的艺术,如何保证APP在各种情况下都能正常显示是Android前端开发中非常重要的一步,我将会在本专栏内持续分享这些技术细节,如果有需要也欢迎关注本专栏。

前情提要

这是一篇写给入坑Android开发新手的文章,它可能不太适合老手阅读,也可能带有一些我个人的理解和见地,但我是衷心希望更多的新人开发者能从这篇文章中获取知识,让我们一同进步。当然了,其中可能不可避免的会存在一些遗漏和错误,也希望大家多多指正。

上一篇:
《Android基础 – 如何做鲁棒性更高的布局1》

本篇我将阐述如何将自己的布局设计打造成适用于绝大部分设备显示而不会出问题。

关于字号单位

你也许会看过某本教程,告诉你字号要用sp作单位,但事实上,与界面元素保持一致的单位才是正确的选择。
你肯定不想你的APP到了别的设备上,因为系统不一样而引发界面元素大小和文字的字号大小发生不符合预期的显示错误,那么请保持界面中所有元素的测量单位统一,例如你的View使用dp作为单位测量,那么字号也用dp是没有任何问题的,这虽然可能导致用户手动调整系统设置中的字体大小时,APP中的字号并不发生变化,但它绝对是最稳妥的设计方法之一,对于自定义字号的需要,后续我会专门出文章讲解如何实现。
为什么推荐全部使用dp作为计量单位,原因是dp与实际分辨率px之间存在像素密度转换比,而这可以保证你的APP在绝大多数正确设置dpi的设备上保持一致符合预期的显示效果,例如
Android基础 - 如何做鲁棒性更高的布局2
可以看到,尽管在第二台设备上可能显得有些挤,但各元素依然保持着相对的显示大小正确。

关于如何构建布局

我们可能常常遇到一个界面内的元素设计是纵向的,例如一些表单填写界面
Android基础 - 如何做鲁棒性更高的布局2
这时你最好需要考虑在低分辨率的设备上,这个表单可能无法显示完全,那么我们势必是需要一个可以上下滚动的布局来保证界面的可靠性。
另外,一旦键盘(输入法)弹出,那么界面内容布局可能只有一半的显示面积,此时我们必须保证输入框在可见的视野内,如何实现这些,你需要ScrollView。
我们看看最佳的实际布局该如何编写:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:app="http://schemas.android.com/apk/res-auto"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:background=/colorPrimary"     android:fitsSystemWindows="true"     android:focusable="true"     android:focusableInTouchMode="true"     android:orientation="vertical"     tools:context=".activity.PointDetailsActivity">      <!--这是标题头布局-->     <RelativeLayout         android:layout_width="match_parent"         android:layout_height="55dp">          ......      </RelativeLayout>      <!--这是内容布局-->     <ScrollView         android:layout_width="match_parent"         android:layout_height="match_parent"         android:background=/rect_body_top"         android:clipToPadding="false">          <!--使用线性布局构建内容模块-->         <LinearLayout             android:id="@+id/box_form"             android:layout_width="match_parent"             android:layout_height="match_parent"             android:orientation="vertical"             android:paddingLeft="10dp"             android:paddingRight="15dp"             android:paddingBottom="15dp">              ......          </LinearLayout>      </ScrollView>  </LinearLayout>

这样,在低分辨率设备上显示界面可以正常上下滚动,同时当点击内容区域的输入框,输入法弹出时,界面会自动上下缩小,保证输入框部分在合理的视野范围内,提供最佳的输入体验。

尾巴

本篇介绍了两个构建界面时的细节点,以帮助你更好的完成界面布局的实现,移动端相对而言最重要的适配,实际上就是界面布局的艺术,如何保证APP在各种情况下都能正常显示是Android前端开发中非常重要的一步,我将会在本专栏内持续分享这些技术细节,如果有需要也欢迎关注本专栏。

前情提要

这是一篇写给入坑Android开发新手的文章,它可能不太适合老手阅读,也可能带有一些我个人的理解和见地,但我是衷心希望更多的新人开发者能从这篇文章中获取知识,让我们一同进步。当然了,其中可能不可避免的会存在一些遗漏和错误,也希望大家多多指正。

上一篇:
《Android基础 – 如何做鲁棒性更高的布局1》

本篇我将阐述如何将自己的布局设计打造成适用于绝大部分设备显示而不会出问题。

关于字号单位

你也许会看过某本教程,告诉你字号要用sp作单位,但事实上,与界面元素保持一致的单位才是正确的选择。
你肯定不想你的APP到了别的设备上,因为系统不一样而引发界面元素大小和文字的字号大小发生不符合预期的显示错误,那么请保持界面中所有元素的测量单位统一,例如你的View使用dp作为单位测量,那么字号也用dp是没有任何问题的,这虽然可能导致用户手动调整系统设置中的字体大小时,APP中的字号并不发生变化,但它绝对是最稳妥的设计方法之一,对于自定义字号的需要,后续我会专门出文章讲解如何实现。
为什么推荐全部使用dp作为计量单位,原因是dp与实际分辨率px之间存在像素密度转换比,而这可以保证你的APP在绝大多数正确设置dpi的设备上保持一致符合预期的显示效果,例如
Android基础 - 如何做鲁棒性更高的布局2
可以看到,尽管在第二台设备上可能显得有些挤,但各元素依然保持着相对的显示大小正确。

关于如何构建布局

我们可能常常遇到一个界面内的元素设计是纵向的,例如一些表单填写界面
Android基础 - 如何做鲁棒性更高的布局2
这时你最好需要考虑在低分辨率的设备上,这个表单可能无法显示完全,那么我们势必是需要一个可以上下滚动的布局来保证界面的可靠性。
另外,一旦键盘(输入法)弹出,那么界面内容布局可能只有一半的显示面积,此时我们必须保证输入框在可见的视野内,如何实现这些,你需要ScrollView。
我们看看最佳的实际布局该如何编写:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:app="http://schemas.android.com/apk/res-auto"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:background=/colorPrimary"     android:fitsSystemWindows="true"     android:focusable="true"     android:focusableInTouchMode="true"     android:orientation="vertical"     tools:context=".activity.PointDetailsActivity">      <!--这是标题头布局-->     <RelativeLayout         android:layout_width="match_parent"         android:layout_height="55dp">          ......      </RelativeLayout>      <!--这是内容布局-->     <ScrollView         android:layout_width="match_parent"         android:layout_height="match_parent"         android:background=/rect_body_top"         android:clipToPadding="false">          <!--使用线性布局构建内容模块-->         <LinearLayout             android:id="@+id/box_form"             android:layout_width="match_parent"             android:layout_height="match_parent"             android:orientation="vertical"             android:paddingLeft="10dp"             android:paddingRight="15dp"             android:paddingBottom="15dp">              ......          </LinearLayout>      </ScrollView>  </LinearLayout>

这样,在低分辨率设备上显示界面可以正常上下滚动,同时当点击内容区域的输入框,输入法弹出时,界面会自动上下缩小,保证输入框部分在合理的视野范围内,提供最佳的输入体验。

尾巴

本篇介绍了两个构建界面时的细节点,以帮助你更好的完成界面布局的实现,移动端相对而言最重要的适配,实际上就是界面布局的艺术,如何保证APP在各种情况下都能正常显示是Android前端开发中非常重要的一步,我将会在本专栏内持续分享这些技术细节,如果有需要也欢迎关注本专栏。

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » Android基础 – 如何做鲁棒性更高的布局2求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们