Android View And Activity

View与GroupView

Android里的图形界面都是由View和ViewGroup以及他们的子类构成的: View:所有可视化控件的父类,提供组件描绘和时间处理方法 。 ViewGroup: View类的子类,可以拥有子控件,可以看作是容器 Android UI中的控件都是按照这种层次树的结构堆叠得。 创建UI布局的方式有两种, 自己在Java里写代码或者通过XML定义布局,后者显得更加方便和容易理解! 也是我们最常用的手段!另外我们一般很少直接用View和ViewGroup来写布局,更多的 时候使用它们的子类控件或容器来构建布局!
以下是本篇文章正文内容,下面案例可供参考

布局是什么?

布局是摆放控件的规则,可以认为布局是一个透明的容器。
透明容器内部按照规则去摆放控件。
只关注android:开头的即可。
Android中有六大布局,分别是:

  1. LinearLayout(线性布局)
  2. RelativeLayout(相对布局)
  3. TableLayout(表格布局)
  4. FrameLayout(帧布局)
  5. AbsoluteLayout(绝对布局)
  6. GridLayout(网格布局)

而今天我们要讲解的就是前两个布局。
LinearLayout(线性布局),我们屏幕适配的使用 用的比较多的就是LinearLayout的weight(权重属性)。

线性布局

线性布局表示内部的控件横着或者竖着排成一排。
android:orientation=“vertical” 方向
可选值:horizontal(水平),vertical(垂直)

线性布局支持比例划分的。

//共同作用分宽度
android:layout_width="0dp"
android:layout_weight="2"

相对布局

在某个参照物的某个方向或位置,相对布局的第一步就是给参照物起一个名字(id).
相对布局中,如果不指定子控件的相对位置,默认都在左上角堆放。
例子:创建一个新的布局文件

  1. 选中res—layout文件夹,右键—New—Android XML File
  2. 在弹出的窗口中的File栏,输入要创建的布局文件的名称(全英文小写,单词间使用_分割)
  3. 在下方的Root Element栏目中选择要使用的布局后点击Finish按键完成创建
给某个布局或控件起一个id
android:id="@+id/text1"

在某个参照物的右边
android:layout_toRightOf="@id/text1"
在某个参照物的左边
ndroid:layout_toLeftOf="@id/text1"
在某个参照物的下面
android:layout_below="@id/text1"
在某个参照物的上面
android:layout_above="@id/text1"

在父控件的中间
android:layout_centerInParent="true"
在父控件的水平中心
android:layout_centerHorizontal="true"
在父控件的垂直中心
android:layout_centerVertical="true"

对齐父控件的左边
android:layout_alignParentLeft="true"
对齐父控件的右边
android:layout_alignParentRight="true"
对齐父控件的顶端
android:layout_alignParentTop="true"
对齐父控件的底部
android:layout_alignParentBottom="true"

对齐某个控件的左边/右边
android:layout_alignLeft="@id/btn1"
android:layout_alignRight="@id/btn1"
对齐某个控件的顶端/底部
android:layout_alignTop="@id/btn1"
android:layout_alignBottom="@id/btn1"

布局嵌套

布局之间可以嵌套,对于外层的布局而言,内层的布局也相当于一个控件。
理论上布局可以嵌套任意层次,但是为了性能起见,应该尽可能的少用嵌套。

常用控件

TextView 文本显示控件

设置显示文字
android:text="我今晚想吃卷饼" 

如果给TextView设置比较大的宽度和高度时,文字默认在左上。
可以通过设置重力方向来控制文字的位置。
android:gravity="center"

设置文字大小(单位使用sp)
android:textSize="10sp"

设置为浏览器的超链接
android:autoLink="web"

Button 按钮 和 ImageButton

Button是TextView的子类,拥有TextView的绝大多数属性。
另外身为一个子类,Button也对其父类TextView做出了一些改动。
例如:文字默认居中,增加了按钮的点击效果。

ImageView 图片显示控件

功能用于显示图片

设置显示的图片
android:src="@drawable/xxx"

图片命名规则:

  1. 不允许数字开头
  2. 不允许大写英文
  3. 不允许中文和特殊的符号
    drawable目录中有任何一个违规的都不行

GridView 网格视图

    <GridView
        android:id="@+id/grid"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:horizontalSpacing="10dp"
        android:numColumns="3"
        android:verticalSpacing="30dp" >
    </GridView>

效果如图:

监听器 Listener

类似于提前先设定好某个“约定”(某个达成的条件A→执行某段代码B·)。
如果在程序运行的过程中达成了这个条件A,则自动触发B。
如果在程序运行的过程中没有达成条件A,则永远不会触发B。

“万物皆对象”
xml中布置控件(控件必须有id) → .java中找到对象

    @Override
    protected void onCreate(Bundle savedInstanceState) {
   
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        //按钮绑定id
        mBtn = (Button) findViewById(R.id.btn1)</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bruce.vvu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值