总的来说,我对Android开发还很陌生。现在,我们有一个UI设计师,可以说在Photoshop中提供了一个720x1280(xhdpi)模板的UI设计。因此,我以像素为单位进行测量,然后将其除以2,将其恢复为mdpi。
当我在没有软按钮的手机上运行该应用程序时,它与UI设计师提供的设计完全匹配。
但是,当应用程序在具有软键(例如HTC m8)的手机上运行时,软键将隐藏应用程序的底部。
有没有解决此问题的方法?
设计师应该做2个UI设计吗?1个不带软键和1个不带软键?然后,在我的应用程序中,我应该检测要使用的UI?有没有比这更好的解决方案?
这是我的问题的一个例子:
因此,左边是UI设计,中间部分在没有软键的手机上运行,右边是在带有软键的手机上运行。
如果您感兴趣的话,这里是xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="match_parent"
android:layout_height="450dp"
android:background="@android:color/holo_blue_dark">
</View>
<View
android:layout_width="match_parent"
android:layout_height="116dp"
android:padding="10dp"
android:background="@android:color/holo_red_dark">
</View>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/holo_blue_dark">
</View>
感谢您的任何帮助,
现在我们有一个UI设计师,可以说在Photoshop中提供了一个720x1280(xhdpi)模板的UI设计。
首先,720x1280未绑定xhdpi
。密度与屏幕分辨率无关。
其次,并非每台Android设备的屏幕分辨率均为720x1280,甚至不是16:9的宽高比。
但是,当应用程序在具有软键(例如HTC m8)的手机上运行时,软键将隐藏应用程序的底部。
让我们从网站的角度考虑这一点。您的意思等同于说您正在尝试设计一种仅支持720x1280的网站的实现,并且如果用户胆敢使用大小不同的浏览器窗口,则该网站将无法正常工作。
大多数人会认为这是有缺陷的设计,或者有缺陷的设计可能是有缺陷的实现。
Web设计人员和开发人员应该精通响应式设计的概念,使用流畅的布局等来利用可用的浏览器窗口空间。
移动应用程序开发也不例外。
欢迎设计人员为720x1280分辨率的屏幕制作UI的模型或线框。但是,设计人员需要围绕各种可能的屏幕尺寸进行设计(更不用说纵向与横向)。因此,设计人员需要指定布局规则,而不仅仅是创建一个模型。这些规则需要考虑到不同的屏幕尺寸,以英寸或与密度无关的像素(dp
在Android中,等效于Web开发人员的CSS像素)为单位,而不是硬件像素。
有没有解决此问题的方法?
让设计人员提供布局的实际规则,主要使用模型作为工具来描述这些规则的实现。那么你的任务是解释这些规则,并使用内置的容器(例如,对其编码LinearLayout
,RelativeLayout
,TableLayout
,GridLayout
),或者可能是您自己定制的ViewGroups
需要。
设计师应该做2个UI设计吗?
设计师应该制作一个设计,但可能要制作几个模型,以帮助解释该设计如何响应不同的屏幕尺寸和方向。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句