引入布局
16lz
2021-01-23
为减少代码量,可以引用已经写好的布局和相应的活动
这里创建一个title布局被引用
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" > <Button android:id="@+id/title_back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:layout_margin="5dp" android:text="Back" android:textColor="#fff" /> <TextView android:id="@+id/title_text" android:layout_width="0dp" android:layout_height="wrap_content" android:gravity="center" android:layout_weight="1" android:layout_gravity="center" android:text="Title Text" android:textColor="white" android:textSize="24sp" /> <Button android:id="@+id/title_edit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="5dp" android:text="Edit" android:textColor="#fff" />LinearLayout>
注意
android:gravity=""
用来改变控件内标签的位置比如android:text=""
在按钮中的显示位置
而android:layout_gravity=""
改变控件在父布局的位置
在主活动布局中添加引用
<com.example.uicustomviews.TitleLayout android:layout_width="match_parent" android:layout_height="wrap_content"/>
注册活动
package com.example.uicustomviews;//TitleLayout.javaimport android.app.Activity;import android.content.Context;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.widget.Button;import android.widget.LinearLayout;import android.widget.Toast;public class TitleLayout extends LinearLayout{ //构造函数 public TitleLayout(Context context, AttributeSet attrs) { super(context, attrs); //获得布局对象 LayoutInflater.from(context).inflate(R.layout.title, this); //实例化两个按钮对应title.xml Button titleBack = (Button)findViewById(R.id.title_back); Button titleEdit = (Button)findViewById(R.id.title_edit); //添加监听器 titleBack.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ((Activity)getContext()).finish(); } }); titleEdit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getContext(), "You clicked Edit Button", Toast.LENGTH_SHORT).show(); } }); }}
运行效果
更多相关文章
- Android中RelativeLayout布局各个xml相对布局属性的介绍和使用
- [android]控件ImageView的常用属性
- Android之TableLayout布局
- android控件注意点(一)
- Android 布局之DrawLayout
- android设置系统语言,字体大小,字体样式导致widget控件失效
- Android API指南(二)自定义控件04之 位置说明
- Android RadioButton背景图片和文字的相对位置
- Android学习笔记_布局文件属性的说明