成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Android中的selector怎么使用-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“Android中的selector怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Android中的selector怎么使用”吧!

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),新津縣企業(yè)網(wǎng)站建設(shè),新津縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,新津縣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,新津縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

Android  selector的詳解

前言:

StateListDrawable 是一種通過XML文件來定義的drawable,使用幾個(gè)不同的圖片來呈現(xiàn)同一個(gè)圖形,通過object的狀態(tài)來實(shí)現(xiàn)切換。例如,一個(gè)Button有幾個(gè)不同的狀態(tài)(按壓,獲取焦點(diǎn)等等),這種情況下,通過使用 state list drawable,你就可以實(shí)現(xiàn)在不同的狀態(tài)下使用不同的背景圖片。

你可以在一個(gè)XML文件中描述state list。通過在根節(jié)點(diǎn)selector下定義一個(gè)item元素來添加每個(gè)圖形。每一各item中使用不同的狀態(tài)屬性來定義不用的drawable。

當(dāng)每一次狀態(tài)改變的時(shí)候,state list都會(huì)從上到下被遍歷一遍,第一個(gè)與當(dāng)前state相匹配的item將會(huì)被使用—- 這個(gè)選擇并不是作出“最匹配”結(jié)果,而是簡(jiǎn)單的找到第一個(gè)匹配的狀態(tài)。


selector一般都是用來作為有狀態(tài)改變的View的背景,以此來達(dá)到當(dāng)用戶對(duì)View進(jìn)行操作,導(dǎo)致View狀態(tài)改變時(shí),作出改變,讓用戶感知View的狀態(tài)變化。

官方說明

文件位置:res/drawable/filename.xml

編譯資源類型:StateListDrawable

資源引用:


In Java: R.drawable.filename
In XML: @[package:]drawable/filename

語(yǔ)法:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
  android:constantSize=["true" | "false"]
  android:dither=["true" | "false"]
  android:variablePadding=["true" | "false"] >
  <item
    android:drawable="@[package:]drawable/drawable_resource"
    android:state_pressed=["true" | "false"]
    android:state_focused=["true" | "false"]
    android:state_hovered=["true" | "false"]
    android:state_selected=["true" | "false"]
    android:state_checkable=["true" | "false"]
    android:state_checked=["true" | "false"]
    android:state_enabled=["true" | "false"]
    android:state_activated=["true" | "false"]
    android:state_window_focused=["true" | "false"] />
</selector>

更多詳細(xì)說明,請(qǐng)查閱xsoftlab

實(shí)際使用

下面做一個(gè)簡(jiǎn)單的實(shí)例,對(duì)Button的背景根據(jù)狀態(tài)做一下處理

XML文件

selector_ts.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@color/pink" android:state_pressed="true" />
  <item android:drawable="@color/yellow" android:state_selected="true" />
  <item android:drawable="@drawable/shaperect" android:state_enabled="false" />
  <item android:drawable="@color/stone" android:state_enabled="true" />
</selector>

主布局文件(activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<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"
  android:focusable="true"
  android:focusableInTouchMode="true"
  android:orientation="vertical"
  android:padding="10dp"
  tools:context="mraz.com.tabdemo.MainActivity">

  <Button
    android:id="@+id/bt_content"
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:background="@drawable/selector_ts" />

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="50dp"
    android:orientation="horizontal">


    <Button
      android:id="@+id/bt_selected"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_weight="1"
      android:text="Select"
      android:textAllCaps="false" />

    <Button
      android:id="@+id/bt_disable"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_weight="1"
      android:text="Disable"
      android:textAllCaps="false" />

    <Button
      android:id="@+id/bt_pressed"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_weight="1"
      android:text="Press"
      android:textAllCaps="false" />
  </LinearLayout>
</LinearLayout>

到此,相信大家對(duì)“Android中的selector怎么使用”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章名稱:Android中的selector怎么使用-創(chuàng)新互聯(lián)
文章來源:http://jinyejixie.com/article30/dcghso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、定制開發(fā)網(wǎng)站營(yíng)銷、Google、網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
定陶县| 金塔县| 舟曲县| 通州市| 民权县| 通州市| 江源县| 东乌珠穆沁旗| 沅陵县| 蕲春县| 固阳县| 青铜峡市| 临澧县| 英吉沙县| 万山特区| 东源县| 定州市| 衡阳县| 新邵县| 镇安县| 叶城县| 吉林省| 穆棱市| 桐城市| 无为县| 高安市| 黄石市| 绥中县| 吉林省| 布尔津县| 图木舒克市| 宁安市| 红桥区| 中卫市| 嘉峪关市| 礼泉县| 永顺县| 克什克腾旗| 庄河市| 延长县| 依安县|