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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机专业男人喜欢什么样的女人,说实在的,其实男人真正喜欢的女人,就三个特征…

    计算机专业男人喜欢什么样的女人,说实在的,其实男人真正喜欢的女人,就三个特征…男人和女人有什么不同?大概是后者的世界里只有爱情,前者的世界里除了爱情,还有对金钱与权力的渴望。人比人气死人。有些女人从来都不缺追求者,有些女人从来都没有追求者,很多时候并不明白,她到底比她差在哪里?这还不算扎心的,有些女人绞尽脑汁,都没能守住自己的爱情,而有些女人看着都没怎么费力,却保卫了自己的爱情。也许我们都要深思,那些一直“幸运”的女人到底有什么秘诀。对于感情,女人一般会有的疑问,无非两个。…

    2022年7月25日
    45
  • 不重启redis更改密码

    不重启redis更改密码如果以前给 redis 设置过密码 那么需要验证密码 才能用其它 redis 命令 AUTH 假设以前 redis 密码为 通过 AUTH 验证密码登录 验证成功会返回 OKCONFIGSETr 设置新的 redis 密码 CONFIGGETreq 查看新的密码

    2025年8月28日
    2
  • 用代码设置 RelativeLayout.LayoutParams

    用代码设置 RelativeLayout.LayoutParams1.注意不能在RelativeLayout容器本身和他的子元素之间产生循环依赖,比如说,不能将RelativeLayout的高设置成为WRAP_CONTENT的时候将子元素的高设置成为ALIGN_PARENT_BOTTOM。如果parent是wrap_content的话,alignParentRight就意味着要求parent的layout_width=”match_par…

    2022年7月17日
    39
  • Struts2 页面url请求怎样找action

    Struts2 页面url请求怎样找action

    2022年1月30日
    45
  • 什么是robots.txt文件

    什么是robots.txt文件一、什么是robots文件Robots.txt文件是网站跟爬虫间的协议,对于专业SEO并不陌生,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。如您的网站未设置robots协议,搜索引擎对网.

    2022年5月23日
    46
  • 事务隔离级别与锁的对应关系_X1800S

    事务隔离级别与锁的对应关系_X1800S隔离级别org.springframework.transaction.annotation.Isolationpublic enum Isolation { DEFAULT(-1), READ_UNCOMMITTED(1), READ_COMMITTED(2), REPEATABLE_READ(4), SERIALIZABLE(8);}DEFAULT :这是默认值,表示使用底层数据库的默认隔离级别。对大部分数据库而言,通常这值就是: READ_CO..

    2022年8月9日
    4

发表回复

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

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