android 使兩個按鈕水平排列的方法是使用lineLayout線性布局,如下代碼:
為三明等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及三明網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、三明網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
?xml?version="1.0"?encoding="utf-8"?
LinearLayout?xmlns:android=""
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@color/background"
android:orientation="vertical"?
View
android:layout_width="wrap_content"
android:layout_height="1.2px"
android:layout_marginBottom="7dp"
android:background="@color/white"?/
LinearLayout
android:layout_width="fill_parent"
android:layout_height="79dp"
android:layout_weight="2"
android:orientation="horizontal"
android:layout_margin="10dp"?
Button
android:id="@+id/bt1"
android:layout_width="fill_parent"
android:layout_height="26dp"
android:background="@drawable/shape"
android:layout_weight="1"
android:text="確認(rèn)對沖"
android:textColor="@color/white"
android:textSize="15dp"?/
Button
android:layout_width="fill_parent"
android:layout_height="26dp"
android:background="@drawable/shapeyuanjiao"
android:layout_weight="1"
android:text="取消"
android:textColor="@color/white"
android:textSize="15dp"?/
/LinearLayout
/LinearLayout
運(yùn)行結(jié)果如下:
步驟:
1、在存放使用資源的res文件夾下的layout文件夾內(nèi)新建一個XML布局文件,如命名為:page1.xml。
2、在存放資、代碼的文件夾下下找到MainActivity.java,雙擊打開,在onCreate的方法內(nèi)添加關(guān)聯(lián)代碼。
FlowLayout 流式布局,從左到右,如果到邊界就換行再從左到右。
BorderLayout 邊界布局(默認(rèn)布局方式),按東西南北中五個方向來布局,默認(rèn)是中。后設(shè)置在同樣位置的控件會覆蓋之前的控件。
GridLayout 網(wǎng)格布局,將容器劃分成若干行列的網(wǎng)格,從左到右,然后從上到下。每個控件的大小相同。
center.setLayout(new GridLayout(3,4)); 你這個是3行4列 也就是能放12個的 但是你卻放了16個button 當(dāng)然不行啦
在我們進(jìn)行編程時,有兩樣?xùn)|西是非常重要的,一是思路,二是語法結(jié)構(gòu)。有了思路,但對Java這門語言的語法結(jié)構(gòu)不是特別了解,那么代碼肯定是編寫不出來。
或者說對于Java語言語法結(jié)構(gòu)掌握的還算可以,但是解題卻沒有思路,代碼肯定是無從下手的,這也是許多程序員常見的情況。
給你分享三個方法:
1、拆分法:將功能項目拆解成N個子功能,保證每個子功能只需要處理一個邏輯業(yè)務(wù),返回一個邏輯結(jié)構(gòu)數(shù)據(jù),跟畫家畫一只兔子一樣。很多功能實現(xiàn)過于復(fù)雜,需要牽扯到很多方面的問題,這時你只有好好拆分,把大功能靠自己的經(jīng)驗拆成多個獨立的子功能,這樣每個子功能的邏輯就不那么復(fù)雜了,自己也可以專心于業(yè)務(wù)邏輯實現(xiàn)。
2、預(yù)先定義法:很多功能你不知道怎么實現(xiàn),但是你知道最終返回的數(shù)據(jù)結(jié)構(gòu)應(yīng)該是什么樣子的,那你就預(yù)先把他定義出來,然后提前返回,中間業(yè)務(wù)邏輯部分都是為了填充這個預(yù)先返回的數(shù)據(jù)結(jié)構(gòu)定義的。其實程序中充滿著這樣的技巧,各種代碼都是預(yù)先定義好類型、數(shù)據(jù)結(jié)構(gòu)、對象等等,然后慢慢通過業(yè)務(wù)邏輯取到值進(jìn)行填充。
3、假設(shè)法:很多時候程序員需要完成對接或者功能還未實現(xiàn),可以采用假設(shè)法,你可以預(yù)先定義好假設(shè)的數(shù)據(jù),假設(shè)的數(shù)據(jù)跟需要的數(shù)據(jù)完全吻合,甚至你可以這樣操作if (true) {},這樣把if里的內(nèi)容全部書寫完畢,然后再來處理這個true的問題,如果這個true的時機(jī)還不成熟,那說明不是你的問題了,而是別人的問題,別人應(yīng)該背鍋,你的績效就達(dá)成了。
class MainFrame extends JFrame{
MainFrame(){
super("布局");
setSize(600,600);
setLocationRelativeTo(null);
seDefaultCloseOperation(3);
JLabel info=new JLabel("個人資料");
JPanel w=new JPanel();
JPanel c=new JPanel();
add(info,BorderLayout.NORTH);
add(w,BorderLayout.WEST);
add(c,BorderLayout.CENTER);
w.setLayout(new GridLayout(7,1,10,10));
//c也一樣處理
JLabel a[7];
JTextField t[7];
for(int i=0;i7;i ){
a[i]=new JLabel();
t[i]= new JTextField();
w.add(a[i]);
c.add(t[i]);
}
a[0].setText("姓名:");
//剩下的自己加上去就行
}
//省略主方法
}