目標(biāo):熟悉使用android系統(tǒng)自帶的常用控件,
widgets:Button气嫁、ToggleButton当窗、CheckBox、RadioButton寸宵、CheckedTextView崖面、Spinner、ProgressBar梯影、SeekBar巫员、QuickContacBadge、RatingBar甲棍、Switch简识、Space
控件對應(yīng)的圖片(控件展示)
Button:
<Button
? ? android:text="@string/btn"
? ? android:layout_width="wrap_content"
? ? android:layout_height="wrap_content" />
ToggleButton:
<ToggleButton
? ? android:id="@+id/tog_btn"
? ? android:layout_width="wrap_content"
? ? android:layout_height="wrap_content"
? ? android:textOff="@string/off"
? ? android:textOn="@string/on" />
默認(rèn)狀態(tài)
點(diǎn)擊后狀態(tài)
CheckBox:
<CheckBox
? ? android:id="@+id/checkbox"
? ? android:layout_width="wrap_content"
? ? android:layout_height="wrap_content" />
默認(rèn)未選中狀態(tài)
選中狀態(tài)
RadioButton:
<RadioButton
? ? android:id="@+id/radioButton1"
? ? android:layout_width="wrap_content"
? ? android:layout_height="wrap_content" />
默認(rèn)未點(diǎn)擊狀態(tài)
點(diǎn)擊后狀態(tài)
搭配RadioGroup使用,實(shí)現(xiàn)在RadioGroup中單選功能:
<RadioGroup
? ? android:id="@+id/radioGroup"
? ? android:layout_width="match_parent"
? ? android:layout_height="wrap_content"
? ? android:layout_marginTop="10dp"
? ? android:background="@color/colorBackgroud"
? ? android:orientation="horizontal"
? ? android:weightSum="2">
<RadioButton
? ? ? ? android:id="@+id/radioButton1"
? ? ? ? android:layout_width="0dp"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:layout_weight="1"
? ? ? ? android:gravity="center"
? ? ? ? android:text="@string/one"
? ? ? ? android:textColor="@color/colorAccent" />
<RadioButton
? ? ? ? android:id="@+id/radioButton2"
? ? ? ? android:layout_width="0dp"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:layout_weight="1"
? ? ? ? android:gravity="center"
? ? ? ? android:text="@string/two"
? ? ? ? android:textColor="@color/colorPrimary" />
</RadioGroup>
CheckedTextView:
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
? ? android:id="@android:id/text1"
? ? android:layout_width="match_parent"
? ? android:layout_height="?android:attr/listPreferredItemHeightSmall"
? ? android:textAppearance="?android:attr/textAppearanceListItemSmall"
? ? android:gravity="center_vertical"
? ? android:checkMark="?android:attr/listChoiceIndicatorSingle"
? ? android:paddingStart="?android:attr/listPreferredItemPaddingStart"
? ? android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" />
系統(tǒng)布局文件simple_list_item_single_choice和simple_list_item_multiple_choice默認(rèn)引用了CheckedTextView 控件
Spinner:
<Spinner
? ? android:id="@+id/spinner"
? ? android:layout_width="wrap_content"
? ? android:layout_height="wrap_content"
? ? android:dropDownWidth="200dp"
? ? android:popupBackground="@color/colorAccent"
? ? android:spinnerMode="dialog" />//dropdown下拉
點(diǎn)擊后展示一個(gè)新的布局感猛,展示方式有兩種七扰,一:下拉展示,二:彈窗展示
下拉展示
彈窗展示:
ProgressBar:
樣式分為兩種陪白,確定與不確定颈走,確定的設(shè)置為直線進(jìn)度條,不確定的設(shè)置為加載圓圈進(jìn)度條
直線進(jìn)度條:style="?android:attr/progressBarStyleHorizontal"
<ProgressBar
? ? style="?android:attr/progressBarStyleHorizontal"
? ? android:layout_width="match_parent"
? ? android:layout_height="wrap_content"
? ? android:max="100"? //進(jìn)度分為100份
? ? android:progress="100"http://加載100份
? ? />
圓圈進(jìn)度條:style="?android:attr/progressBarStyle"
SeekBar:
<SeekBar
? ? android:layout_width="match_parent"
? ? android:layout_height="wrap_content" />
常見的音視頻播放進(jìn)度條
QuickContacBadge:
QuickContactBadge咱士,聯(lián)系人快捷標(biāo)識立由,具體效果為顯示一張聯(lián)系人圖片,點(diǎn)一下彈出與之相關(guān)的快捷功能欄序厉,如打電話锐膜、發(fā)短信等
<QuickContactBadge
? ? android:id="@+id/badge"
? ? android:src="@drawable/timg"
? ? android:layout_width="30dp"
? ? android:layout_height="30dp" />
模擬查找手機(jī)電話聯(lián)系人:
badge=findViewById(R.id.badge);
badge.assignContactFromPhone("18153808579",false);
點(diǎn)擊上圖的圖片后,出現(xiàn):
點(diǎn)擊所有聯(lián)系人下的號碼脂矫,出現(xiàn):
RatingBar:
RatingBar是ProgressBar的一個(gè)延伸,ProgressBar的進(jìn)度一般由代碼控制霉晕,RatingBar的進(jìn)度可以拖拽來控制庭再。
基于寬度設(shè)置的屬性:wrap_content,默認(rèn)顯示5個(gè)星星捞奕,
如果填充為鋪滿match_parent,則根據(jù)手機(jī)屏幕適配拄轻,填滿整行個(gè)星星颅围,
<RatingBar
? ? android:layout_width="match_parent"
? ? android:layout_height="wrap_content" />
改變星星圖片屬性,使用progressDrawable屬性:
android:progressDrawable="@drawable/ratingbar_bg"
Switch:
<Switch
? ? android:id="@+id/swth"
? ? android:layout_width="wrap_content"
? ? android:layout_height="wrap_content"
? ? android:textOff="@string/off_switch"
? ? android:textOn="@string/on_switch" />
默認(rèn)狀態(tài)
點(diǎn)擊后狀態(tài)
Space:
Space 經(jīng)常用于組件之間的縫隙恨搓,其draw()為空院促,減少了繪制渲染的過程。組件之間的距離使用 Space 會(huì)提高了繪制效率斧抱,特別是對于動(dòng)態(tài)設(shè)置間距會(huì)很方便高效常拓。
正是因?yàn)閐raw()為空,對該 view 沒有做任務(wù)繪制渲染辉浦,所以不能對 Space 設(shè)置背景色弄抬。
<android.support.v4.widget.Space
? ? android:layout_width="1dp"
? ? android:layout_height="10dp" />
android:background="@color/colorAccent"http://設(shè)置背景默認(rèn)為系統(tǒng)的紅色,發(fā)現(xiàn)背景并未變成紅色宪郊,