一、引入布局
在xml文件中引入另一个布局
<include layout="@layout/XXX" />
个人理解就是在父布局的某个位置在嵌套一个布局。
二、自定义控件
步骤:
2.1 新建一个xml文件,做好自定义控件
例如:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="horizontal"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/button3" android:layout_weight="1" android:layout_gravity="center" android:layout_margin="5dip" android:background="#0f0f0f" android:textColor="#fff000" android:text="back"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:textSize="24sp" android:textColor="#fff000" android:layout_weight="1" android:id="@+id/text2" android:text="小麦麦"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="5dp" android:textColor="#fff000" android:layout_weight="1" android:id="@+id/button4" android:text="edit"/> </LinearLayout>
2.2 新建一个Class,继承自View类或者其子类。例如:
public class TittleLayout extends LinearLayout { public TittleLayout(Context context, AttributeSet attrs) { super(context, attrs); ((LayoutInflater)this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.button,this); }} 2.3 在布局中引入控件就会调用该控件的构造函数,重写自定义控件父类的构造函数,并在构造函数中借助LayoutInflater加载布局文件的xml。2.4 在布局文件中添加自定义控件 添加自定义控件与普通控件一样,只不过需要指明控件的完整类名。 例如:
<com.example.zds.test_menu01.TittleLayout android:layout_width="match_parent" android:layout_height="wrap_content"/>
时间: 2024-10-12 22:23:44