`
gintama
  • 浏览: 52303 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用权重设计适应不同屏幕尺寸UI

阅读更多
不同于iphone、为了适应不同屏幕大小的android手机、开发过程中应该尽量避免出现具体的像素的大小、使用权重能更好的兼容不同的手机、


用一个简单的例子来说明:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_weight="10"
android:background="@drawable/bg">

<LinearLayout android:layout_width="fill_parent"
android:layout_height="0dp" android:orientation="horizontal"
android:layout_weight="1">
<EditText android:layout_height="wrap_content"
android:layout_width="0dp" android:layout_weight="3" android:id="@+id/name"
android:focusable="false" />
<Button android:layout_height="wrap_content"
android:layout_width="0dp" android:layout_weight="1" android:text="找人"
android:id="@+id/find" />
</LinearLayout>

<LinearLayout android:layout_width="fill_parent"
android:layout_height="0dp" android:layout_weight="8">
<EditText android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/message"
android:gravity="top" />
</LinearLayout>

<LinearLayout android:layout_width="fill_parent"
android:layout_height="0dp" android:layout_weight="1"
android:orientation="horizontal">
<Button android:layout_width="0dp" android:layout_height="fill_parent"
android:layout_weight="1" android:text="顿号" android:id="@+id/mark" />
<Button android:layout_width="0dp" android:layout_height="fill_parent"
android:layout_weight="1" android:text="回退" android:id="@+id/back" />
<Button android:layout_width="0dp" android:layout_height="fill_parent"
android:layout_weight="1" android:text="发送" android:id="@+id/send" />
</LinearLayout>

</LinearLayout>



当存在竖直方向和水平方向都需要使用权重时、

参考一下简易代码,只有四个按钮而已:



<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent" android:layout_width="fill_parent"
android:orientation="vertical" android:layout_weight="100">
<LinearLayout android:layout_height="0dp"
android:layout_width="fill_parent" android:orientation="horizontal"
android:layout_weight="50">
<Button android:layout_height="fill_parent"
android:layout_width="0dp" android:layout_weight="1" />
<Button android:layout_height="fill_parent"
android:layout_width="0dp" android:layout_weight="1" />
</LinearLayout>

<LinearLayout android:layout_height="0dp"
android:layout_width="fill_parent" android:orientation="horizontal"
android:layout_weight="50">
<Button android:layout_height="fill_parent"
android:layout_width="0dp" android:layout_weight="1" />
<Button android:layout_height="fill_parent"
android:layout_width="0dp" android:layout_weight="1" />
</LinearLayout>
</LinearLayout>


第一段代码是一个简易的短信发送器界面、可以读取联系人信息、发送短信、截图如下:


完整代码见附件、N多问题没处理、只是个demo.
0
0
分享到:
评论

相关推荐

    android程序界面自动适应屏幕分辨率例子

    线性布局可以让视图按行或列排列,并通过分配权重来确保视图在不同屏幕尺寸下的比例一致。在项目中,可能有使用LinearLayout并设置weight属性的例子。 5. **使用自定义控件和尺寸** 自定义控件可以帮助实现特定的...

    安卓UI布局相关-Android多屏幕适配.rar

    使用LinearLayout的`android:layout_weight`属性,可以实现不同组件按比例分配空间,适应不同屏幕尺寸。 6. **百分比布局(PercentSupport Library)** Google推出的PercentSupport Library允许开发者使用百分比...

    Android-androidUI适配屏幕适配

    5. **使用约束布局(ConstraintLayout)**:Android Studio提供的约束布局可以灵活地进行响应式设计,适应不同屏幕尺寸。 6. **使用布局权重(layout_weight)**:在LinearLayout中,分配权重可以使得子视图按照...

    android自动适应屏幕源码.zip

    - 使用`layout-vXX`文件夹结构来为不同屏幕尺寸创建特定的布局文件。 - 使用`dimens.xml`文件定义不同尺寸的控件大小,根据屏幕密度自动选择合适的值。 2. **比例适配**: - `dp`(density-independent pixels)...

    Android程序研发源码UI设计之 仿做蘑菇街UI设计 源码.zip

    7. **响应式设计**:由于Android设备的屏幕尺寸和方向各异,优秀的UI设计应具备响应式,能够自动适应不同屏幕。这可能需要使用到比例单位(dp、sp)和布局权重。 8. **布局优化**:为了提高应用性能,需要避免复杂...

    android自动适应屏幕源码.rar

    通过设置权重,即使在不同屏幕尺寸下,视图的比例也能保持一致。 3. **尺寸资源(dimens.xml)** 在values目录下创建不同的dimens.xml文件(如values-mdpi, values-hdpi等),针对不同屏幕密度提供特定的尺寸值,...

    android安卓开发app如何做到自适应手机屏幕大小,适应不同分辨率的手机.zip

    这使得在不同屏幕尺寸上,控件之间的比例关系能保持一致。 5. **提供不同密度的资源**:对于图像资源,需要为不同的屏幕密度创建相应版本。例如,将320x480尺寸的图片放在mdpi目录,480x800的放在hdpi,720x1280的...

    Android UI设计基础补充_android_AndroidUI设计_

    而约束布局是目前推荐的布局方式,它通过建立约束关系实现视图间的相对定位,能适应不同屏幕尺寸,提高设计的响应式。 在控件属性设计中,Android提供了多种基本组件,如按钮(Button)、文本框(EditText)、图像...

    Android 基础UI编程4

    总结来说,“Android基础UI编程4”涵盖了Android界面设计的关键概念和技术,包括布局管理、控件使用、事件处理、自定义View以及适应不同屏幕尺寸的设计策略。熟练掌握这些知识点,能帮助开发者构建出高效、美观且...

    自动适应屏幕分辨率

    1. **密度独立像素(DP)与像素(PX)**:Android系统使用密度独立像素作为单位,它是一种虚拟像素单位,旨在消除不同屏幕密度对UI设计的影响。1DP在不同密度的屏幕上对应的实际像素数量不同,以保证视觉上的等效。 ...

    安卓UI布局相关-ndroid屏幕适配方案.rar

    1. 使用相对布局(RelativeLayout)或约束布局(ConstraintLayout):这两种布局允许元素相对位置调整,能更好地适应不同屏幕尺寸。 2. dp(density-independent pixels)单位:使用dp代替px作为尺寸单位,自动根据...

    iOS_UI设计指南

    - **iPhone版Mail至iPad版**:比较了同一应用在不同屏幕尺寸下的设计差异。 - **电脑版Safari至iPad版**:分析了如何将Web浏览器适配到iPad上。 #### 六、用户体验指南 - **关注主要任务**:确保用户能够轻松地完成...

    android 界面UI设计工具 droiddraw

    这有助于设计师更好地了解设计在不同屏幕尺寸和分辨率下的效果,从而做出适应性更强的布局决策。 **控件与属性** 在droiddraw中,可以添加多种Android控件,每种控件都有丰富的属性可供设置,包括但不限于: 1. ...

    Android自动适应屏幕源码.zip源码资源下载

    7. **响应式设计**: 通过使用RecyclerView、FlexboxLayout或SwipeRefreshLayout等组件,可以创建响应用户操作和屏幕尺寸变化的界面。源码可能展示了如何配置这些组件以实现动态布局。 8. **Java代码适配**: 除了XML...

    basic4android适应各种屏幕大小的例子

    5. 布局权重(Layout Weights):在LinearLayout中,权重属性可以分配给子视图,使得它们能按比例占据空间,即使在屏幕尺寸变化时也能保持比例关系。 6. 9-Patch图片:这种特殊的图片格式允许指定拉伸区域,确保...

    Android 屏幕适配工具

    使用可伸缩的设计原则,如9-patch图像(.9.png),允许图像在特定区域拉伸,保持重要元素不变形,适应不同屏幕尺寸。 5. PercentRelativeLayout 和 PercentFrameLayout: 这是Android Support Library提供的布局...

    android程序界面自动适应屏幕分辨率

    3. **布局权重(layout_weight)**:在LinearLayout中,为子视图分配权重可以帮助它们按比例填充可用空间,无论屏幕尺寸如何。 4. **百分比布局(PercentLayout)**:使用`android.support.percent`库,可以设置...

    android 模仿360UI

    7. **响应式设计**:为了适应不同尺寸的屏幕,360UI通常会采用响应式设计。这涉及到Android的屏幕适配策略,如使用dp单位、百分比布局或FlexboxLayout等。 8. **Material Design**:虽然360UI有其独特的设计风格,...

Global site tag (gtag.js) - Google Analytics