大家好 我必须使用线性布局与所有分辨率类型的设备,如480x800,480x854,320x480。 我在设计320x480时使用x,y位置将元素放置在线性布局中。我必须为其他分辨率设备重新设计,因此需要更多时间。请给出线性布局的所有分辨率的通用方法。提前致谢。
答案 0 :(得分:2)
您可以为不同的屏幕类别定义不同的布局。因此,您可以调整布局,使其适合实际屏幕。这里有一个描述如何完成此操作的好资源:
http://developer.android.com/guide/practices/screens_support.html
答案 1 :(得分:2)
请勿针对特定分辨率进行设计。使用layout_weight
属性,layout_width
和layout_height
wrap_content
和match_parent
值的组合来获得不同的比例宽度,具体取决于屏幕尺寸,而不是硬编码像素值。
例如,假设您要在屏幕顶部添加一行四个按钮,每个按钮占据相同的宽度,从左上角偏移约5个像素:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp"
android:gravity="top"
android:orientation="horizontal"
>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button 1"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button 2"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button 3"
/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button 4"
/>
</LinearLayout>
这将为您提供任何屏幕密度的可靠结果,您永远不必担心某个像素值。用于填充的dp(与设备无关的像素)的使用也会根据密度略有变化,因此无论分辨率如何,它都保持一致的物理尺寸。
阅读Android Developers site关于LinearLayouts,FrameLayouts和RelativeLayouts的示例。你会很好地了解每个人的利益,以及他们的优点和缺点。
答案 2 :(得分:1)
在布局中使用与密度无关的像素(dp)是个好主意。我认为这可能会有所帮助:http://developer.android.com/guide/practices/screens_support.html
答案 3 :(得分:0)
非常优秀的答案......我相信很多个人和商家都认为Android是一个“设备”而不清楚地理解Android是一个“操作系统”。为了正确显示运行Android操作系统的所有设备的图像,必须选择支持多个设备并根据Android操作系统开发,而不是运行Android操作系统的某个设备。之前我遇到过这个问题,我的Boss(当时)说“你的测试设备需要什么尺寸的图像?我说”只是给我一些图像!我被迫使用320x480图像(根据测试设备)当区域经理在他的ThinkPad(以及其他4个设备)上看到演示产品时,我被终止了,因为我的主管认为Android是设备而不是操作系统......公司的Android App还没有完成。我的意见认为“支持多个设备正在为通用Android操作系统开发,而正在开发根据”分辨率“适用于某种设备或类型的设备。