Android开发 – 基本UI设计

Android开发 – 基本UI设计文章目录Android开发-基本UI设计1.页面部分占用1/N的情况2.分割线的实现Android开发-基本UI设计本博客记录本人在安卓开发时候遇到的一些UI设计的问题以及解决方法记录来自Project-FoodList1.页面部分占用1/N的情况示例:完整界面 界面顶部要求顶部界面只占1/3解决方案使用线性布局,其属性android:orienta…

大家好,又见面了,我是你们的朋友全栈君。

Android开发 – 基本UI设计

  • 本博客记录本人在安卓开发时候遇到的一些UI设计的问题以及解决方法
  • 记录来自Project-FoodList

1. 页面部分占用1/N的情况

  • 示例:
    • 完整界面
      在这里插入图片描述
    • 界面顶部
      在这里插入图片描述
    • 要求顶部界面只占1/3
    • 解决方案
      • 使用线性布局,其属性android:orientation="vertical"android:weightSum="3"
      • 线性布局里面有两个相对布局,分别设置两个相对布局的layout_weight
      • 关于其中的权重比为2:1,参阅Android布局中的layout_weight和weightSum属性的详解及使用
        <LinearLayout android:orientation="vertical" ... android:weightSum="3">
            <!-- 上部 -->
            <RelativeLayout android:layout_weight="2" android:id="@+id/top" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/colorPrimaryDark">
        
                ...
        
            </RelativeLayout>
        
            <!-- 中部和底部 -->
            <RelativeLayout android:id="@+id/middle" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="match_parent">
        
                ...
        
            </RelativeLayout>
        </LinearLayout>
        

2. 分割线的实现

  • 分割线的实现,方法比较粗暴,直接使用ImageView组件实现
  • 给其src设置为一个颜色,然后修改其weight(对应分割线的宽度)以及height(对应分割线的高度)属性以及位置设置
     <ImageView android:id="@+id/horLine2" android:layout_width="match_parent" android:layout_height="15dp" android:layout_below="@+id/info" android:layout_marginTop="15dp" android:src="#1E000000"/>
    

3. 多个组件高度一致,顶对齐,并且水平均匀分布

  • 例子:需要实现下图的情况,需要三个button高度一致,顶对齐并且水平均匀分布
    在这里插入图片描述
  • 首先需要了解一下约束布局以其使用
    • 约束布局(ConstraintLayout),布局内组件按各种约束排列。每个组件受到三类约束,即其他组件,父容器(parent),基准线(GuideLine)。 约束布局代码可归纳为以下形式:app:layout_constraint[组件本身的位置]_to[目标位置]Of=”[目标id]”。因此若想要组件水平居中,只需设置组件的左右边界与父容器的左右边界分别对齐。同理,组件的垂直居中也可以这么设置。
  • 再思考本问题,是否也能使用约束布局来完成呢?使用约束布局,将三个按钮放在一个约束布局里面,每个按钮视图的左侧或者右侧与需要的对齐按钮的相应侧对齐即可,则组件之间就可以处于均匀分布了。
     <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content">
         <Button app:layout_constraintRight_toLeftOf="@+id/loadBtn" app:layout_constraintLeft_toLeftOf="parent" android:id="@+id/saveBtn" android:text="SAVE" android:layout_width="wrap_content" android:layout_height="wrap_content" />
    
         <Button android:id="@+id/loadBtn" android:text="LOAD" app:layout_constraintLeft_toRightOf="@+id/saveBtn" app:layout_constraintRight_toLeftOf="@+id/clearBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" />
    
         <Button android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintLeft_toRightOf="@+id/loadBtn" app:layout_constraintRight_toRightOf="parent" android:id="@+id/clearBtn" android:text="CLEAR"/>
    
     </android.support.constraint.ConstraintLayout>
    
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151079.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea 2021.03.02 激活码(最新序列号破解)

    idea 2021.03.02 激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    437
  • Oracle级联查询

    在ORACLE数据库中有一种方法可以实现级联查询select*//要查询的字段fromtable//具有子接点ID与父接点ID的表startwithselfid=id//给定一个

    2021年12月22日
    39
  • 剑指 Offer 09. 用两个栈实现队列「建议收藏」

    剑指 Offer 09. 用两个栈实现队列「建议收藏」用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:[“CQueue”,“deleteHead”,“appendTail”,“ap

    2022年8月9日
    4
  • Java中获取文件大小的正确方法

    Java中获取文件大小的正确方法本文出处:http://blog.csdn.net/chaijunkun/article/details/22387305,转载请注明。由于本人不定期会整理相关博文,会对相应内容作出完善。因此强烈建议在原始出处查看此文。今天写代码时需要实现获取文件大小的功能,目前有两种实现方法,一种是使用File的length()方法;另外一种是使用FileInputStream的available(

    2022年4月30日
    235
  • 新手小白学电脑_新手小白开公司

    新手小白学电脑_新手小白开公司1set接口1.1 概述Set是一个不包含重复数据的CollectionSet集合中的数据是无序的(因为Set集合没有下标)Set集合中的元素不可以重复–常用来给数据去重1.2 Set集合的特点数据无序且数据不允许重复HashSet:底层是哈希表,包装了HashMap,相当于向HashSet中存入数据时,会把数据作为K,存入内部的HashMap中。当然K仍然不许重复。TreeSet:底层是TreeMap,也是红黑树的形式,便于查找数据1.3 常用方法学习Collecti

    2022年9月7日
    0
  • CAP 定理

    CAP 定理CAP定理(CAPtheorem)又被称作布鲁尔定理(Brewer'stheorem),是加州大学伯克利分校的计算机科学家埃里克·布鲁尔(EricBrewer)在2000

    2022年7月4日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号