為潛山等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及潛山網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站設(shè)計、潛山網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
常用布局
FrameLayout:子元素沒有相對位置概念,都相對于左上角
LinearLayout:線性布局,一個接一個,水平或垂直
RelativeLayout:相對布局,可相對其它子元素
TableLayout:水平和垂直LinearLayout的混和
如:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.android10_4.MainActivity">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
改為豎排的話,加上:
android:orientation="vertical"
二、控件介紹
1)ListView:
private ListView lv;
privateArrayAdapter<String> dapter1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dapter1=newArrayAdapter<String>(this,android.R.layout.simple_list_item_1);
lv=(ListView)findViewById(R.id.lv);
//配置數(shù)據(jù)
lv.setAdapter(dapter1);
dapter1.add("Hello");
dapter1.add("ByBy");
}
2)RadioGroup和RadioGroup
RadioButton和RadioGroup的關(guān)系:
1、RadioButton表示單個圓形單選框,而RadioGroup是可以容納多個RadioButton的容器
2、每個RadioGroup中的RadioButton同時只能有一個被選中
3、不同的RadioGroup中的RadioButton互不相干,即如果組A中有一個選中了,組B中依然可以有一個被選中
4、大部分場合下,一個RadioGroup中至少有2個RadioButton
5、大部分場合下,一個RadioGroup中的RadioButton默認(rèn)會有一個被選中,并建議您將它放在RadioGroup中的起始位置
3) DatePicker和TimePicker
一、DatePicker繼承自FrameLayout類,日期選擇控件的主要功能是向用戶提供包含年、月、日的日期數(shù)據(jù)并允許用戶對其修改。如果要捕獲用戶修改日期選擇控件中的數(shù)據(jù)事件,需要為DatePicker添加OnDateChangedListener監(jiān)聽器。
二、TimePicker也繼承自FrameLayout類。時間選擇控件向用戶顯示一天中的時間(可以為24小時,也可以為AM/PM制),并允許用戶進(jìn)行選擇。如果要捕獲用戶修改時間數(shù)據(jù)的事件,便需要為TimePicker添加OnTimeChangedListener監(jiān)聽器
4) Spinner
當(dāng)需要用戶選擇的時候,可以提供一個下拉列表將所有可選的項列出來。供用戶選擇。
5)ProgressBar和SeekBar
ProgressBar:當(dāng)用戶在后臺執(zhí)行一些任務(wù)時,在前臺展示的信息,用于表示任務(wù)正在處理,請用戶等待或者給用戶展示處理的進(jìn)度消息等
SeekBar:是相對高級的進(jìn)度條,是可以拖動的,可以改變進(jìn)度的一個進(jìn)度條控件,比如,應(yīng)用程序中用戶可以對音效進(jìn)行控制,這就可以使用拖動條來實現(xiàn)
6)GridView
GridView (網(wǎng)格視圖)是按照行列的方式來顯示內(nèi)容的,一般用于顯示圖片等內(nèi)容,比如實現(xiàn)九宮格圖,用GridView是首選,也是最簡單的
7)ProgressDialog,顧名思義,就是一個進(jìn)度對話框,常用于顯示載入進(jìn)度、下載進(jìn)度等,合理使用ProgressDialog能增加用戶體驗,讓用戶知道現(xiàn)在程序所處的狀態(tài)
8)Notification
Notification是Android中常用的一種通知方式,當(dāng)有未讀短信或未接電話的時候,屏幕狀態(tài)欄就會有提示圖標(biāo),這時可以下拉狀態(tài)欄來讀取通知。在使用微信的時(微信在后臺運(yùn)行),如果有新消息時便會發(fā)出聲音提示,狀態(tài)欄也有相應(yīng)的微信提示
9)ScrollView滾動視圖是指當(dāng)擁有很多內(nèi)容,屏幕顯示不完時,需要通過滾動跳來顯示的視圖。ScrollView只支持垂直滾動。
10)RatingBar是SeekBar和ProgressBar的擴(kuò)展,用星星來評級,使用的默認(rèn)大小RatingBar時,用戶可以觸摸/拖動或使用鍵來設(shè)置評分,它有大小兩種樣式,其中大的只適合指示,不適合于用戶交互
11)ImageSwitcher類提供了圖片切換功能,通過第三方的操作,設(shè)置當(dāng)前ImageSwitcher顯示的圖片,同時設(shè)置圖片變換的動畫。,控制圖片展示效果的一個控件,如:幻燈片效果
12) Gallery組件主要用于橫向顯示圖像列表,不過按常規(guī)做法。Gallery組件只能有限地顯示指定的圖像
13)BaseAdapter是經(jīng)常用到的基礎(chǔ)數(shù)據(jù)適配器,它的主要用途是將一組數(shù)據(jù)傳到像ListView、Spinner、Gallery及GridView等UI顯示組件
ListView案例:
新建項目,加進(jìn)ListView
<ListView
android1:id="@+id/listView"
android1:layout_width="fill_parent"
android1:layout_height="fill_parent">
</ListView>
定義數(shù)據(jù)適配器
privateArrayAdapter<String>adapter;
3)賦值
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1);
lv.setAdapter(adapter);
adapter.add("Hello 1");
adapter.add("Hello 2");
adapter.add("Hello 3");
可以運(yùn)行下,比較簡單。
4)數(shù)據(jù)項比較簡單,只有一項,下面繼續(xù)完善,創(chuàng)建列表項數(shù)據(jù)類
publicclass ListCellData {
public ListCellData(String userName,String sex,int age){
this.userName=userName;
this.sex=sex;
this.age =age;
}
private StringuserName="張三";
public String getUserName() {
returnuserName;
}
publicvoid setUserName(String userName) {
this.userName = userName;
}
public String getSex() {
returnsex;
}
publicvoid setSex(String sex) {
this.sex = sex;
}
publicint getAge() {
returnage;
}
publicvoid setAge(int age) {
this.age = age;
}
private Stringsex="女";
privateintage =0;
}
5)
private ArrayAdapter<ListCellData> adapter;
6)
adapter=new ArrayAdapter<ListCellData>(this,android.R.layout.simple_list_item_1);//
lv.setAdapter(adapter);
adapter.add(new ListCellData("小明","女",19));
adapter.add(new ListCellData("張三","男",29));
adapter.add(new ListCellData("李四","女",89));
7)重寫顯示內(nèi)容,否則顯示的為類名
public String toString()
{
return getUserName();
}
8)當(dāng)前類為處理器,實現(xiàn)OnItemClickListener,程序里面有很多的部件需要點擊執(zhí)行動作的時候可以使用implements OnClickListener
publicclassMainActivity extendsActionBarActivity implementsOnItemClickListener
9)重寫列表項點擊事件
@Override
publicvoid onItemClick(AdapterView<?>parent,View view,int position,long id)
{
ListCellDatadata=adapter.getItem(position);
Toast.makeText(this, String.format("名字:%s,性別:%s",data.getUserName(),data.getSex()), Toast.LENGTH_SHORT).show();
}
×××:
http://down.51cto.com/data/1967639
參考:
http://www.cnblogs.com/linzheng/archive/2011/01/18/1938737.html
http://www.oschina.net/question/54100_33274
網(wǎng)站題目:10天學(xué)通Android開發(fā)(4)-用戶布局與常用控件
本文來源:http://vcdvsql.cn/article6/pehoog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站改版、網(wǎng)頁設(shè)計公司、App設(shè)計、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)