Android-常用控件

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();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 目錄:android.widget.RadioGroup xml布局中:(包含按鈕選中狀態(tài)及文本選中狀態(tài)的改變) ...
    才兄說(shuō)閱讀 1,716評(píng)論 0 3
  • 由于手機(jī)屏幕有限, 所以ListView的使用非常的普遍. ListView就是用戶(hù)可以通過(guò)手指上下滑動(dòng)的方式來(lái)展...
    史慧君閱讀 2,449評(píng)論 2 53
  • 目錄:android.support.v4.widget.DrawerLayout 布局xml中: res str...
    才兄說(shuō)閱讀 1,316評(píng)論 0 1
  • 目錄:android.widget.TextView 設(shè)置顏色: 方式一: 方式二: 方式三: 方式四: (還有知...
    才兄說(shuō)閱讀 333評(píng)論 0 4
  • 我們這座22層大廈,一百多戶(hù)人家,每每過(guò)年,最最熱鬧的便是爭(zhēng)曬衣物。 今兒我隨著五點(diǎn)半的鬧鐘醒來(lái),就想著洗好的幾大...
    兩個(gè)梨窩閱讀 555評(píng)論 1 1

友情鏈接更多精彩內(nèi)容