您好,登錄后才能下訂單哦!
常用布局
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);
//配置數據
lv.setAdapter(dapter1);
dapter1.add("Hello");
dapter1.add("ByBy");
}
2)RadioGroup和RadioGroup
RadioButton和RadioGroup的關系:
1、RadioButton表示單個圓形單選框,而RadioGroup是可以容納多個RadioButton的容器
2、每個RadioGroup中的RadioButton同時只能有一個被選中
3、不同的RadioGroup中的RadioButton互不相干,即如果組A中有一個選中了,組B中依然可以有一個被選中
4、大部分場合下,一個RadioGroup中至少有2個RadioButton
5、大部分場合下,一個RadioGroup中的RadioButton默認會有一個被選中,并建議您將它放在RadioGroup中的起始位置
3) DatePicker和TimePicker
一、DatePicker繼承自FrameLayout類,日期選擇控件的主要功能是向用戶提供包含年、月、日的日期數據并允許用戶對其修改。如果要捕獲用戶修改日期選擇控件中的數據事件,需要為DatePicker添加OnDateChangedListener監聽器。
二、TimePicker也繼承自FrameLayout類。時間選擇控件向用戶顯示一天中的時間(可以為24小時,也可以為AM/PM制),并允許用戶進行選擇。如果要捕獲用戶修改時間數據的事件,便需要為TimePicker添加OnTimeChangedListener監聽器
4) Spinner
當需要用戶選擇的時候,可以提供一個下拉列表將所有可選的項列出來。供用戶選擇。
5)ProgressBar和SeekBar
ProgressBar:當用戶在后臺執行一些任務時,在前臺展示的信息,用于表示任務正在處理,請用戶等待或者給用戶展示處理的進度消息等
SeekBar:是相對高級的進度條,是可以拖動的,可以改變進度的一個進度條控件,比如,應用程序中用戶可以對音效進行控制,這就可以使用拖動條來實現
6)GridView
GridView (網格視圖)是按照行列的方式來顯示內容的,一般用于顯示圖片等內容,比如實現九宮格圖,用GridView是首選,也是最簡單的
7)ProgressDialog,顧名思義,就是一個進度對話框,常用于顯示載入進度、下載進度等,合理使用ProgressDialog能增加用戶體驗,讓用戶知道現在程序所處的狀態
8)Notification
Notification是Android中常用的一種通知方式,當有未讀短信或未接電話的時候,屏幕狀態欄就會有提示圖標,這時可以下拉狀態欄來讀取通知。在使用微信的時(微信在后臺運行),如果有新消息時便會發出聲音提示,狀態欄也有相應的微信提示
9)ScrollView滾動視圖是指當擁有很多內容,屏幕顯示不完時,需要通過滾動跳來顯示的視圖。ScrollView只支持垂直滾動。
10)RatingBar是SeekBar和ProgressBar的擴展,用星星來評級,使用的默認大小RatingBar時,用戶可以觸摸/拖動或使用鍵來設置評分,它有大小兩種樣式,其中大的只適合指示,不適合于用戶交互
11)ImageSwitcher類提供了圖片切換功能,通過第三方的操作,設置當前ImageSwitcher顯示的圖片,同時設置圖片變換的動畫。,控制圖片展示效果的一個控件,如:幻燈片效果
12) Gallery組件主要用于橫向顯示圖像列表,不過按常規做法。Gallery組件只能有限地顯示指定的圖像
13)BaseAdapter是經常用到的基礎數據適配器,它的主要用途是將一組數據傳到像ListView、Spinner、Gallery及GridView等UI顯示組件
ListView案例:
新建項目,加進ListView
<ListView
android1:id="@+id/listView"
android1:layout_width="fill_parent"
android1:layout_height="fill_parent">
</ListView>
定義數據適配器
private ArrayAdapter<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");
可以運行下,比較簡單。
4)數據項比較簡單,只有一項,下面繼續完善,創建列表項數據類
publicclass ListCellData {
public ListCellData(String userName,String sex,int age){
this.userName=userName;
this.sex=sex;
this.age =age;
}
private String userName="張三";
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 String sex="女";
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)重寫顯示內容,否則顯示的為類名
public String toString()
{
return getUserName();
}
8)當前類為處理器,實現OnItemClickListener,程序里面有很多的部件需要點擊執行動作的時候可以使用implements OnClickListener
public class MainActivity extendsActionBarActivity implements OnItemClickListener
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。