android布局与源码

2019-04-15 19:18发布

横向线性布局加relativeLayout
[img]http://dl.iteye.com/upload/picture/pic/103038/472a130f-6cc1-3306-8bb0-2d4d6b7abcb9.png[/img]
[code]
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layoutMain = new LinearLayout(this);
layoutMain.setOrientation(LinearLayout.HORIZONTAL);
setContentView(layoutMain);
LayoutInflater inflate = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);//xml加载器
RelativeLayout layoutLeft = (RelativeLayout) inflate.inflate(
R.layout.left, null);
RelativeLayout layoutRight = (RelativeLayout) inflate.inflate(
R.layout.right, null);

RelativeLayout.LayoutParams relParam = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutMain.addView(layoutLeft, 100, 100);//先加入第一个相对布局的xml,并规定宽度和高度
layoutMain.addView(layoutRight, relParam);//剩下的空间由这个相对布局xml填充
}
[/code]

-----------------------------------------------------------------------
LinearLayout ,

[img]http://dl.iteye.com/upload/picture/pic/102510/c9a876ea-7503-3bd1-9c91-a270db32432c.jpg[/img]
[code]
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="上"
/>
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="左下"
/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="右下"
/>

[/code]

---------------------------------------------------------------
Table布局
[img]http://dl.iteye.com/upload/picture/pic/102516/b0eb5361-7157-3b32-a86a-ef843f6c66e3.jpg[/img]

[code]
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="表头"
/>
android:gravity="center"
>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第0列"
--android:layout_marginLeft="10dip"
>

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第1列"
>


android:gravity="center"
>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮1"
/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮2"
/>


[/code]

------------------------------------------------------
相对布局
[img]http://dl.iteye.com/upload/picture/pic/102518/cb9f1149-c86b-3426-89cd-3b56bc4e0873.jpg[/img]


[code]
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="中间的按钮,很长很长很长"
android:layout_centerInParent="true"
>

android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上面的按钮"
android:layout_above="@id/button1"
android:layout_alignLeft="@id/button1"
>

android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下面的按钮"
android:layout_below="@id/button1"
android:layout_alignRight="@id/button1"
--android:layout_alignParentRight="true" 这个也常用
>


[/code]

----------------------------------------------
Frame布局
[img]http://dl.iteye.com/upload/picture/pic/102520/5f157e93-2782-351e-99ae-ba236c917bea.jpg[/img]

[code]
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/big"
>

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/center"
>

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/small"
>


[/code]

----------------------------------

对于每种布局,都有专属的xml语句,有些xml就、语句是在其他地方运行不出来的

FrameLayout
如果要在FrameLayout里面调整控件的位置,
在他下属的控件或者是layout里面 android:layout_gravity="bottom"(也可以是top~~~)是最好用的
注意:android:layout_gravity="left"这个属性似乎在哪里都可以用,就是本布局与上一布局的关系。
RelativeLayout:

下属控件用:android:layout_centerHorizontal="true" 居中
android:layout_alignParentLeft
android:layout_toLeftOf
android:layout_alignLeft
LinearLayout
android:gravity="center" ----这是让他下面的组件居中
android:layout_height="wrap_content" android:layout_width="fill_parent"
android:layout_gravity="bottom" android:background="#80000000">