安卓 UI 项目:仿照西瓜视频首页 UI界面

 

1. 最终的效果图

 

2. 总体的大的布局分布

安卓 UI 项目:仿照西瓜视频首页 UI界面_第1张图片

 

实际代码的总体布局:

安卓 UI 项目:仿照西瓜视频首页 UI界面_第2张图片

 

2.0 RelativeLayout常用的一些属性

由于在本示例中采用了很多的 RelativeLayout 布局,所以先了解些它的基本布局属性

 

重点:相对布局 (RelativeLayout) 以 父容器 或者 兄弟组件 参考+margin +padding 来设置组件的显示位置

wrap_content 和 match_parent 的区别:

wrap 翻译过来是包裹,conten是内容。

那么这个就是包裹内容的意思,也就是说你的控件里面的内容有多大,这个控件就有多大。比如说Button中的文字

2.  match_parent:  让作用的控件填充满父容器的空间

1. 基本属性

XML 属性 说明
android:gravity 设置容器内组件的排序方式
android:ignoreGravity 如果设置改属性为 true,将忽略 android:gravity

android:gravity 本元素所有子元素的重力方向,处于怎样子的位置 ,有:

top 将对象放在其容器的顶部,不改变其大小. 

bottom 将对象放在其容器的底部,不改变其大小. 

left将对象放在其容器的左侧,不改变其大小. 

right将对象放在其容器的右侧,不改变其大小. 

center_vertical 将对象纵向居中,不改变其大小. 

android:layout_gravity 和 android:gravity 的区别:

比如说对于Button控件:

 

android:layout_gravity 表示button在界面上的位置

android:gravity表示button上的字在button上的位置。

 

2.根据父容器定位属性:

XML 属性 说明
android:layout_alignParentLeft 左对齐父容器
android:layout_alignParentRight 右对齐父容器
android:layout_alignParentTop 顶部对齐父容器
android:layout_alignParentBottom 底部对齐父容器
android:layout_centerHorizontal 在父容器中水平居中
android:layout_centerVertical 在父容器中垂直居中
android:layout_centerInParent 在父容器的居中位置

各个属性示意图如下

安卓 UI 项目:仿照西瓜视频首页 UI界面_第3张图片

3. 根据兄弟组件定位属性

XML 属性 说明
android:layout_toLeftOf 紧贴参考组件的左边
android:layout_toRightOf 紧贴参考组件的右边
android:layout_above 紧贴参考组件的上方
android:layout_below 紧贴参考组件的下方
android:layout_alignTop 对齐参考组件的上边界
android:layout_alignBottom 对齐参考组件的下边界
android:layout_alignLeft 对齐参考组件的左边界
android:layout_alignRight 对齐参考组件的右边界

兄弟组件定位就是处于同一层次容器的组件

安卓 UI 项目:仿照西瓜视频首页 UI界面_第4张图片

图中的组件1,2就是兄弟组件了,

如对于组件2 :android:layout_right = "@id/组件1"

而组件3与组件1或组件2并不是兄弟组件,所以组件3 不能通过 组件1或 2来进行定位

 

4. 设置外边距(偏移)属性

XML 属性 说明
android:layout_maring 设置组件上下左右的偏移量
android:layout_marginLeft 设置组件左边的偏移量
android:layout_marginRight 设置组件右边的偏移量
android:layout_marginTop 设置组件上边的偏移量
android:layout_marginBottom 设置组件下边的偏移量

上面这些属性用于设置组件对本来位置的偏移量

安卓 UI 项目:仿照西瓜视频首页 UI界面_第5张图片

虚线框是组件2 本来的位置,如果设置了组件上边和左边的边距,则位置会发生一定的偏移,向右下偏移

 

5. 设置内边距(填充)属性

XML 属性 说明
android:padding 设置组件上下左右的填充
android:paddingLeft 设置组件左边的填充
android:paddingRight 设置组件右边的填充
android:paddingTop 设置组件上边的填充
android:paddingBottom 设置组件下边的填充

上面这些属性用于设置组件的内边距,内边距主要用于设置组件边框和子组件之间的间隙

安卓 UI 项目:仿照西瓜视频首页 UI界面_第6张图片

6. 居中设置

android:layout_centerHorizontal 如果为true,将该控件的置于水平居中;
android:layout_centerVertical 如果为true,将该控件的置于垂直居中;
android:layout_centerInParent 如果为true,将该控件的置于父控件的中央;

 

2.1 小布局 之 RelativeLayout

在 其中也嵌套着 2 个 RelativeLayout 布局

安卓 UI 项目:仿照西瓜视频首页 UI界面_第7张图片

    

        

            

            

        

        

            

            

        

2.2 小布局 之  HorizontalScrollView (1)

    

        

            

            
            
            
            
            
            


        
    

2.3 小布局 之  HorizontalScrollView (2)

安卓 UI 项目:仿照西瓜视频首页 UI界面_第8张图片

    

        

            


                

                


            

            


                

                


            

            


                

                


            

            


                

                


            

            


                

                


            



        


    

2.4 小布局 之  ScrollView

安卓 UI 项目:仿照西瓜视频首页 UI界面_第9张图片

    

        

            

                

                    
                    

                

                

                    

                    

                        
                        

                    

                    

                        
                        

                    



                





            

            

                

                    
                    

                

                

                    

                    

                        
                        

                    

                    

                        
                        

                    



                

            

        

    

 

 

 

 

你可能感兴趣的:(安卓开发,android,android,studio,安卓,xml,ui)