日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android控件第6类——杂项控件

發(fā)布時(shí)間:2025/3/8 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android控件第6类——杂项控件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

1、Toast

  Toast用于顯示提示信息。

  Toast不會(huì)獲得焦點(diǎn),沒法關(guān)閉,過(guò)段時(shí)間會(huì)自動(dòng)消失。

  使用方法:Toast.makeText獲得Toast,并設(shè)置相關(guān)屬性。調(diào)用Toast對(duì)象的show方法顯示。

  默認(rèn)情況,Toast只彈出一段話,如果想要更加復(fù)雜的Toast,可以調(diào)用Toast對(duì)象的setView方法。

?

2、Notification

  用來(lái)發(fā)送手機(jī)狀態(tài)欄消息。手機(jī)的狀態(tài)欄位于屏幕最上方。

  使用方法:

    • 構(gòu)造一個(gè)Notification.Builder,并為Builder對(duì)象設(shè)置相關(guān)屬性
    • 然后調(diào)用Builder對(duì)象的build方法,就可以構(gòu)造出一個(gè)Notification對(duì)象。
    • 調(diào)用getSystemService(NOTIFICATION_SERVICE)獲取NotificationManager對(duì)象,并使用NotificationManager對(duì)象的notify方法發(fā)送Notification。
      •   說(shuō)明:getSystemService方法和NOTIFICATION_SERVICE常量都是Context類中聲明的。

  常用方法:

    • setAutoCancel:點(diǎn)擊消息后,狀態(tài)欄將刪除通知
    • setDefaults:設(shè)置通知的LED燈、音樂(lè)、震動(dòng)等
      •   參數(shù):
        • Notification.DEFAULT_SOUNT
        • Notification.DEFAULT_VIBRATE
        • Notification.DEFAULT_LIGHTS
        • Notification.ALL
    • setSound:設(shè)置通知的音樂(lè)
    • setLights:設(shè)置LED等
    • setVibrate:設(shè)置震動(dòng)
    • setTicker:狀態(tài)欄上通知的提示信息
    • setSmallIcon:設(shè)置通知圖標(biāo)
    • setContentTitle:設(shè)置內(nèi)容標(biāo)題
    • setContentText:設(shè)置內(nèi)容文本
    • setContentIntent:如果設(shè)置了contentIntent,在點(diǎn)擊這個(gè)通知時(shí),將會(huì)啟動(dòng)Intent對(duì)應(yīng)的組件。這個(gè)方法對(duì)應(yīng)的參數(shù)為PendingIntent

  PendingIntent

    • Intent將會(huì)直接調(diào)用并啟動(dòng)對(duì)應(yīng)的組件,但是對(duì)于像Notification這樣的場(chǎng)景,并不是在產(chǎn)生消息的時(shí)候直接啟動(dòng)組件,而是在用戶對(duì)消息進(jìn)行某種操作的時(shí)候,才會(huì)啟動(dòng)組件,這個(gè)時(shí)候就需要使用PendingIntent。
    • 使用PendingIntent.getActivities來(lái)構(gòu)造PendingIntent,其參數(shù)中將要使用Intent對(duì)象。

?

  

  在測(cè)試的時(shí)候,在Activity中通過(guò)getIntent獲取到的Intent對(duì)象中,總是獲取不到想要的信息。

  在網(wǎng)上搜索發(fā)現(xiàn),如果使用了相同的Intent,在創(chuàng)建PendingIntent的時(shí)候需要設(shè)置Flags參數(shù)為PendingIntent.FLAG_CANCEL_CURRENT,如下所示。

  PendingIntent.getActivity(AtyNotification.this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT)?

    如果不是相同的Intent,Flags參數(shù)可不設(shè)置為PendingIntent.FLAG_CANCEL_CURRENT

Intent intent2 = new Intent(Intent.ACTION_VIEW);intent2.setData(Uri.parse("tel:10086"));notification.setContentIntent(PendingIntent.getActivity(AtyNotification.this, 0, intent2, 0));

?

?

3、CalendarView,繼承自FrameLayout

  用于顯示和選擇日期。

  使用setOnDateChangeListener監(jiān)聽日期變化。

?

4、DatePicker,繼承自FrameLayout

  供用戶選擇日期。

  DatePicker沒有setOnDateChangedListener方法,而是在DatePicker對(duì)象的init方法中,將OnDateChangedListener對(duì)象作為參數(shù)傳遞進(jìn)去。

?

5、TimePicker,繼承自FrameLayout

  供用戶選擇時(shí)間。

  TimePicker與DatePicker不同,它使用setOnTimeChangedListener來(lái)傳遞時(shí)間改變的事件監(jiān)聽器。

?

6、NumberPicker,繼承自LinearLayout

  數(shù)字選擇器。

  通過(guò)setMinValue和setMaxValue設(shè)置最大值和最小值;通過(guò)setValue設(shè)置當(dāng)前值。

  通過(guò)setOnValueChangedListener傳遞數(shù)值改變的事件監(jiān)聽器。

  

7、SearchView,繼承自LinearLayoutCompat

  搜索框。

  常用方法:

    • setIconifiedByDefault(boolean iconified):設(shè)置該搜索框默認(rèn)是否自動(dòng)縮小為圖標(biāo)
    • setSubmitButtonEnabled(boolean enabled):設(shè)置是否顯示搜索框按鈕
    • setQueryHint(CharSwquence hint):設(shè)置搜索框內(nèi)默認(rèn)顯示的提示文本
    • setOnQueryTextListener(SearchView.OnQueryTextListener):為搜索框設(shè)置事件監(jiān)聽器

?

8、ScrollView,HorizontalScrollView,繼承自FrameLayout

  垂直滾動(dòng)體和水平滾動(dòng)條,這是兩個(gè)不同的控件,分別負(fù)責(zé)在垂直方向和水平方向的滾動(dòng)條。

  滾動(dòng)條內(nèi)部只能放置一個(gè)控件。

?

9、TabHost,繼承自FrameLayout,已不推薦使用

  與TabHost一起使用的類包括:TabWidget(標(biāo)簽條)和TabSpec(選項(xiàng)卡的一個(gè)頁(yè)簽)。

  當(dāng)使用TabActivity來(lái)實(shí)現(xiàn)TabHost的時(shí)候,它的layout文件應(yīng)該包含以下內(nèi)容:

    • TabHost控件的id需要設(shè)置為:@android:id/tabhost
    • TabWidget控件的id需要設(shè)置為:@android:id/tabs
    • TabWidget需要包含一個(gè)FrameLayout,id為:@android:id/tabcontent

  向TabHost中添加頁(yè)簽的方式:

    • 生成TabSpec對(duì)象:TabSpec spec1= tabHost.newTabSpec("tabSpec1").setIndicator("標(biāo)題1").setContent(R.id.tabSpec1);
    • 將TabSpec對(duì)象加入到tabHost中:tabHost.addTab(spec1);

  現(xiàn)在已經(jīng)不推薦使用TabActivity,推薦使用Fragement代替TabActivity。

  

?

轉(zhuǎn)載于:https://www.cnblogs.com/huanyou/p/5273076.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的Android控件第6类——杂项控件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。