LinearLayout
<LinearLayout xmlns ="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
/LinearLayout>
android:orientation="vertical" #horizontal
android:layout_gravity #指定控件在布局中的对称方式
#top、bottom、center_vertical、
android:gravity #指定文字在控件中的对齐方式
android:layout_weight = 1
#设置layout_weight的时候可以设置layout_width=0,系统会自己计算
RelativeLayout
<RelativeLayout>
</relativeLayout>
#相对于父控件
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"
#相对于兄弟控件,上、下、左、右
android:layout_above="@id/..."
android:layout_toRightOf = "@id/..."
android:layout_toLeftOf = "@id/..."
android:layout_below = "@id/..."
#对齐属性
android:layout_alignLeft="@id/.." #左对齐
android:layout_alignRight="@id/..."#右对齐
android:layout_alignTop
android:layout_alignBottom
FrameLayout
<FrameLayout>
</FrameLayout>
都是位于控件的左上角
TableLayout
<TableLayout>
</TableLayout>
#一个TableRow内的内容在一行内
<TableRow>
</TableRow>
#TableRow内的控件是不能指定宽度的
android:layout_spam="2" #指定占用两列
#设置TableLayout的android:stretchColumns="1",表示如果表格不能完全占满屏幕宽度,就将第二列拉伸
#如果="0",代表拉伸第一列
android:inputType="textPassword"
#引入布局
#有一个布局文件title.xml
<include layout="@layout/title" />
创建自定义控件
public class TitleLayout extends LinearLayout {
public TitleLayout(Context context, AttributeSet attrs) {
super(context, attrs);
layoutInflater.from(context).inflate(R.layout.title, this);
Button titleBack = (Button) findViewById(R.id.title_back);
title_back.setOnclickListener(new OnClickListener() {
@Override
public void onClick(View v) {
((Activity) getContext()).finish();
}
})
}
}
修改
<include layout="@layout/title" />
改为
<com.example.xujiguang.TitleLayout
android:layout_weight="match_parent"
android:layout_height="wrap_content"
></com.example.xujiguang.TitleLayout>
网友评论