四种基本布局————Android studio

1、线性布局

LinearLayout,是非常常用的布局,对android:oritentaion指定方向就可以改变排列方式:水平或垂直。其中,android:layout_gravity是指控件在布局中的对齐方式。android:layout_weight可以让我们使用比例的方式来指定控件的大小,从而适应不同像素的手机。如果要在水平方向上按比例来布局,则最开始要在定义控件的长与宽的时候将宽设置为0dp。(设置要在水平方向上平分,则要将布局设为水平模式且控件的宽要赋值为0dp。)
在这里插入图片描述

2、相对布局

正如其名,他的布局方式在于看其他的控件,一个控件相对于另一个的位置。可以用android:layout_above,android:layout_toRightof,android:layout_below等等。

3、帧布局

不太常用,默认在布局的左上角,android:layout_gravity="right"指定布局居右对齐。

4、百分比布局

由于百分比布局不是内置在系统SDK中,所以需要在build.gradle添加百分比的依赖
implementation 'androidx.percentlayout:percentlayout:1.0.0’然后在布局里根据百分比来分配控件。

5、自定义一个标题栏布局

标题栏实质上是几个button控件和一个TextView控件。首先新建一个布局title.xml
,运用两个按钮键与一个TextView控件做标题栏,找到相应的图标做返回键与确认键。不管有多少布局需要标题栏,只需添加一行:include语句就可以了。之后让控件有相应事件。
先在MainActivity同一目录下创建一个TitleLayout继承LinearLayout,给按键设置点击事件。用到的控件的id是自定义控件时的ID。
然后在activity_main.xml添加下面几行。自定义包含点击事件的标题栏就建好了。

 <com.example.buju.TitleLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
public class TitleLayout extends LinearLayout {
    public TitleLayout(Context context, AttributeSet attrs){//重写LinearLayout里的构造函数
        super(context,attrs);
        LayoutInflater.from(context).inflate(R.layout.title,this);
        //动态加载一个布局文件,第一个参数是要加载的布局文件的id,第二个参数是给加载好的布局再添加一个父布局
        Button titleBack=findViewById(R.id.titlt_back);
        Button titleYes=findViewById(R.id.title_yes);
        titleBack.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ((Activity)getContext()).finish();
            }
        });
        titleYes.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getContext(), "You click edit button say yes", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值