1. WebView
<uses-permission android:name="android.permission.INTERNET" />
WebView wv = (WebView) findViewById(R.id.web_view);
//支持 JavaScript 腳本
wv.getSettings().setJavaScriptEnabled(true);
//防止跳轉(zhuǎn)到系統(tǒng)瀏覽器
wv.setWebViewClient(new WebViewClient());
//加載指定網(wǎng)址
wv.loadUrl("http://www.baidu.com");
2. ScrollView
- 能包含一個(gè)子控件,若想添加多個(gè)控件,可添加一個(gè)布局
問(wèn)題解決:自動(dòng)顯示到中間位置;
修改父布局屬性
android:focusable="true" android:focusableInTouchMode="true"
3. DataPickerDialog
//日期選擇器
final Calendar calendar = Calendar.getInstance(); //當(dāng)前日期
DatePickerDialog dialog = new DatePickerDialog(DatePickerDialogActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
calendarChoose.set(year,month,day);
String mDay=Integer.toString(day);
if(day<10){ //格式化
mDay="0"+mDay;
}
tv.setText(year + "-" + (month + 1) + "-" + mDay);
} //下方這幾個(gè)值為日期選擇器初始值
}, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
dialog.show();
注意: month 默認(rèn)是從0開(kāi)始算起
4. TimePickerDialog
//時(shí)間選擇器
TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int hourOfDay, int minute) {
String mHour=Integer.toString(hourOfDay) ;
String mMinute=Integer.toString(minute) ;
if(hourOfDay<10){
mHour="0"+hourOfDay;
}
if(minute<10){
mMinute="0"+minute;
}
tv.setText(mHour+":"+mMinute);
}
},0,0,true); //設(shè)置初始值 為 00:00
timePickerDialog.show();
5. ViewFlipper
簡(jiǎn)單使用: 直接添加ImageView
flipInterval 自動(dòng)切換時(shí)間,
<ViewFlipper
android:id="@+id/viewFilpper"
android:flipInterval="2000"
android:layout_centerHorizontal="true"
android:layout_below="@+id/viewPager"
android:layout_width="200dp"
android:layout_height="200dp">
<ImageView
android:src="@drawable/img1"
android:layout_width="200dp"
android:layout_height="200dp" />
<ImageView
android:src="@drawable/img2"
android:layout_width="200dp"
android:layout_height="200dp" />
<ImageView
android:src="@drawable/img3"
android:layout_width="200dp"
android:layout_height="200dp" />
</ViewFlipper>
ViewFlipper viewFlipper=(ViewFlipper)findViewById(R.id.viewFilpper);
viewFlipper.startFlipping(); //開(kāi)始
6. ImageView
src屬性和background屬性的區(qū)別
src填入圖片時(shí),是按照?qǐng)D片的大小直接填充,并不會(huì)進(jìn)行拉伸。
而是用background填入圖片時(shí),則會(huì)根據(jù)ImageView給定的寬度來(lái)進(jìn)行拉伸。
7.Spinner
下拉菜單
<Spinner
android:id="@+id/activity_main_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
設(shè)置Adapter
String[] datas={"Item 1","Item 2","Item 3","Item 4","Item 5"};
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,datas);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
關(guān)于 setDropDownViewResource 設(shè)置下拉列表項(xiàng)的布局樣式
代碼設(shè)置選中項(xiàng):
spinner.setSelection(2);
選中事件:
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
spinner.getSelectedItem().toString(); //選中項(xiàng)文本
spinner.getSelectedItemId(); //選中項(xiàng)文本
spinner.getSelectedItemPosition(); //選中項(xiàng)位置,從1開(kāi)始
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
8.AutoCompleteTextView
常用屬性:
| completionThreshoid | 指定用戶(hù)輸入多少個(gè)字符后才會(huì)顯示提示 |
|---|---|
| completionHint | 設(shè)置下拉菜單的提示標(biāo)題 |
| dropDownHeight | 設(shè)置下拉菜單的高度 |
| dropDownWidth | 設(shè)置下拉菜單的寬度 |
| popuBackground | 設(shè)置下拉菜單的背景 |
設(shè)置Adapter:
String[] datas={"123","12","11111","1111222","2223333"};
AutoCompleteTextView acTv=(AutoCompleteTextView)findViewById(R.id.activity_test_auto_tv);
ArrayAdapter<String> adapter=
new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,datas);
acTv.setAdapter(adapter);
9.SeekBar
常用屬性:
| max | 滑動(dòng)條的最大值 |
|---|---|
| progress | 滑動(dòng)條的當(dāng)前值 |
| thumb | 滑塊的drawable |
事件:
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
//進(jìn)度發(fā)生改變時(shí)觸發(fā)
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
tvSeekBarInfo.setText("當(dāng)前進(jìn)度值 "+seekBar.getProgress()+"/"+seekBar.getMax());
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) { //按住SeekBar觸發(fā)
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) { //松開(kāi)SeekBar觸發(fā)
}
});
10.ProgressDialog
progressDialog = new ProgressDialog(mContext);
progressDialog.setCancelable(true); //設(shè)置是否可以通過(guò)點(diǎn)擊Back取消
progressDialog.setCanceledOnTouchOutside(true);//點(diǎn)擊Dialog外區(qū)域取消顯示Dialog進(jìn)度條
progressDialog.setMessage(""); //設(shè)置顯示的內(nèi)容
progressDialog.setTitle(""); //設(shè)置標(biāo)題
progressDialog.setIcon(R.mipmap.ic_launcher); //Tittle的圖標(biāo),如果設(shè)置Title的話Icon是不會(huì)顯示的
//ProgressDialog.STYLE_HORIZONTAL 水平進(jìn)度條
//ProgressDialog.STYLE_SPINNER 圓形進(jìn)度條
progressDialog.setProgressStyle(STYLE_HORIZONTAL); //設(shè)置進(jìn)度條顯示樣式
progressDialog.setMax(30); //這是進(jìn)度條最大值
progressDialog.setProgress(1); //設(shè)置進(jìn)度條的進(jìn)度值
//監(jiān)聽(tīng) Dismiss
progressDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
}
});
//設(shè)置可點(diǎn)擊的按鈕,默認(rèn)情況下有三個(gè)可選值
//DialogInterface.BUTTON_POSITIVE //確定
//DialogInterface.BUTTON_NEGATIVE //取消
//DialogInterface.BUTTON_NEUTRAL //中立
progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
progressDialog.dismiss();
}
});
11.RadioButton
若果須要實(shí)現(xiàn)單選功能,需要報(bào)RadioButton放到RadioGroup中,通過(guò)RadioGroup的orientation屬性來(lái)設(shè)置排列方向
獲取選中RadioButton的兩種方式:
RadioGroup rg=(RadioGroup)findViewById(R.id.activity_test_rg); //選中后獲取
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton rbtn=(RadioButton)findViewById(checkedId);
Toast.makeText(TestActivity.this, rbtn.getText(), Toast.LENGTH_SHORT).show();
}
});
//手動(dòng)獲?。ㄒ簿褪切枰c(diǎn)擊Button,必須有默認(rèn)選中
RadioGroup rg=(RadioGroup)findViewById(R.id.activity_test_rg);
RadioButton rbtn=(RadioButton)findViewById(rg.getCheckedRadioButtonId());
Toast.makeText(TestActivity.this, rbtn.getText(), Toast.LENGTH_SHORT).show();