Android 基本控制項的常用屬性

来源:https://www.cnblogs.com/94xiyang/archive/2018/08/20/9505916.html
-Advertisement-
Play Games

TextView EditText Button imageView Spinner下拉列表 RadioGroup(覆選框) / Checkbox(單選框) ProgressBar進度條 RatingBar星級控制項 SeekBar進度條控制項 ...


TextView

//normal 預設 bold 粗體 italic斜體 可用| 多選
android:textStyle

//設置限定可以輸入哪些字元
android:digits

//設置文本可點擊,類型有none、web、email、phone、map、all
android:autoLink

//設置行間距
android:lineSpacingExtra  

//設置行間距的倍數
android:lineSpacingMultiplier   設置行間距的倍數。如”1.2//設置文字的間隔,預設是1.0f
android:textScaleX

//以.代替文本內容
android:password

//省略超出的文本,以...代替,start 在開頭 end在結尾 middle在中間 marquee 跑馬燈,跑馬燈還需設置一個值,setSelected(true);,才可滾動
android:ellipsize

//指定文本陰影的顏色
android:shadowColor 

//設置陰影橫向坐標開始位置
android:shadowDx 

//設置陰影縱向坐標開始位置
android:shadowDy

 //設置陰影的半徑。設置為0.1會變成字體的顏色
android:shadowRadius

//占位符:%s表示字元串類型,%d表示整型,%f表示浮點型

<string name="my_info">看%1$s,到%2$s觀看。</string>

String s = String.format(getResources().getString(R.string.text), "廷禧攻略", "愛奇藝");

EditText

//設置輸入框的類型,如text、number、phone、textUri、textPassword
android:inputType

//設置提示文字
android:hint="請輸入姓名"

//提示文字的顏色
android:textColorHint="#ffff00"

//限制最大輸入字元
android:maxLength

//限制允許輸入的字元
android:digits 

//單行顯示
android:singleLine="true"

//enter圖標設置 actionGo前往、actionSearch搜索、actionSend發送、actionNext下一個、actionDone完成
android:imeOptions

//輸入監聽器
edText.addTextChangedListener(new TextWatcher() {
  @Override
  public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        //在文本改變時,該方法被第一個調用
  }

  @Override
  public void onTextChanged(CharSequence s, int start, int before, int count) {
        //當文本正在改變時被調用
  }

  @Override
  public void afterTextChanged(Editable s) {
        //當文本改變後被調用
  }
});

Button

//設置按鈕不可用
setEnabled(false); 

//設置按鈕不可點擊
setClickable(false); 

imageView

//是否調整邊界來保持所顯示圖片的長寬比
android:adjustViewBounds

//設置渲染顏色
android:tint

//設置填充方式
android:scaleType,屬性:

matrix:不改變原圖的大小,從ImageView的左上角開始繪製原圖,原圖超過ImageView的部分直接剪裁。

center:保持原圖的大小,顯示在ImageView的中心,原圖超過ImageView的部分剪裁。

centerCrop:等比例放大原圖,將原圖顯示在ImageView的中心,直到填滿ImageView位置,超出部分剪裁。

centerInside:當原圖寬高或等於ImageView的寬高時,按原圖大小居中顯示;反之將原圖等比例縮放至ImageView的寬高並居中顯示。

fitCenter:按比例拉伸圖片,拉伸後圖片的高度為ImageView的高度,且顯示在ImageView的中間。

fitEnd:按比例拉伸圖片,拉伸後圖片的高度為ImageView的高度,且顯示在ImageView的下邊。

fitStart:按比例拉伸圖片,拉伸後圖片的高度為ImageView的高度,且顯示在ImageView的上邊。

fitXY:拉伸圖片(不按比例)以填充ImageView的寬高。

Spinner下拉列表

//dialog彈出列表,dropdown下拉列表
android:spinnerMode

//dialog模式可以設置一個標題
android:prompt

//設置xml數據源
android:entries

//XM數據源
<resource>

   <string-array name="arrayList">

    <item>item1</item>

    <item>item2</item>

    <item>item3</item>

  </string-array>

<resource>

//系統提供的樣式
simple_spinner_dropdown_item(列表-間距較高)

simple_spinner_item(列表-間距緊湊)

simple_list_item_checked(覆選框)

simple_list_item_single_choice (單選框)

//事件監聽

AdapterView.OnItemCLickListener 列表項被點擊時觸發

AdapterView.OnItemLongClickListener 列表項被長按時觸發

AdapterView.OnItemSelectedListener 列表項被選擇時觸發

RadioGroup(覆選框) / Checkbox(單選框)

//指定為選中狀態
setCheck(true)

//獲取單選框的值
getText();

//判斷是否被選中
isChecked();

//選中監聽
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
           //isChecked 是否被選中
    }
});

ProgressBar進度條

//true為不精確模式只有迴圈動畫,false為精確模式只有設置此屬性才能顯示進度
android:indeterminate="true"

//設置進度的最大值
android:max

//定義一級進度值
android:progress

//定義二級進度值,該進度在主進度和背景之間,比如緩存進度條
android:secondaryProgress

//定義當進度達到最大時,repeat表示進度從0重新開始;cycle表示進度保持當前值,並且回到0
android:indeterminateBehavior

//自定義動畫
android:indeterminateDrawable

//自動義拖動塊的樣式
android:thumb

//系統風格 
@android:style/Widget.ProgressBar.Horizontal:水平進度條(只有這個可以顯示刻度,其他為迴圈動畫)

@android:style/Widget.ProgressBar.Small:小進度條

@android:style/Widget.ProgressBar.Large:大進度條

@android:style/Widget.ProgressBar.Inverse:不斷跳躍、旋轉畫面的進度條

@android:style/Widget.ProgressBar.Large.Inverse:不斷跳躍、旋轉動畫的大進度條

@android:style/Widget.ProgressBar.Small.Inverse:不斷跳躍、旋轉動畫的小進度條

//java屬性
setProgress(int) 設置第一進度

setSecondaryProgress(int) 設置第二進度

getProgress() 獲取第一進度

getSecondaryProgress() 獲取第二進度

incrementProgress(int) 增加或減少第一進度

incrementSecondaryProgress(int) 增加或減少第二進度

getMax() 獲取最大進度

RatingBar星級控制項

//設置是否允許用戶修改
android:isIndicator

//設置評分控制項一共展示多少個星星,預設5個
android:numStars

//設置初始預設星級數
android:rating

//設置每次需要修改多少個星級
android:stepSize

//事件監聽,ratingBar表示觸發事件的控制項,rating表示當前的星級,fromUser表示是否用戶觸發的修改事件

@Override
public void onRatingChanged(RatingBar ratingBar, float rating,
    boolean fromUser) {

}

SeekBar進度條控制項

//事件監聽
sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
             //在移動的時候調用
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
             //在移動開始前調用
    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
             //在結束時調用
    }
});

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • json,jsonb區別 json和jsonb,而兩者唯一的區別在於效率,json是對輸入的完整拷貝,使用時再去解析,所以它會保留輸入的空格,重覆鍵以及順序等。而jsonb是解析輸入後保存的二進位,它在解析時會刪除不必要的空格和重覆的鍵,順序和輸入可能也不相同。使用時不用再次解析。兩者對重覆鍵的處理 ...
  • 參考博客:Hadoop HBase概念學習系列 參考博客:Hadoop HBase概念學習系列之HBase里的Zookeeper(二十一) 參考博客:Hadoop HBase概念學習系列之HBase里的客戶端和HBase集群建立連接(詳細)(十四) 參考博客:Hadoop HBase概念學習系列之M ...
  • 1. hbase數據模型 1.1. HBase數據模型術語 Table HBase表由多行組成。 Row HBase中的一行由一個行鍵和一個或多個列組成,列的值與這些列相關聯。存儲行時,按行鍵按字母順序排列。因此,行鍵的設計非常重要。目標是以這樣一種方式存儲數據,即相關的行彼此接近。常見的行鍵模式是 ...
  • 文章導航 轉載自:http://www.cnblogs.com/baiboy/p/orc1.html\ 轉載目的:便於本人對看到的好文章進行分類整理,及根據實際需要進行進行適當的調整或補充,不用於適合商業用途。 共用存儲 在需要將一個 LUN (邏輯單元號)映射給多個節點、為集群提供一個共用的存儲捲 ...
  • 這裡講講SqlServer的隱式事務。(英文Implicit:含蓄的;暗示的;盲從的;) 隱式事務無需顯示開始:不用 Begin Transaction,必須顯示結束:以 Commit Transaction 或者 Rollback Transaction 方式結束。 語句迭代迭代:SET IMPL ...
  • 最近很多人都想學習大數據開發,但是卻不知道如何開始學習,今天軟妹子專門整理了一份針對大數據初學者的大數據開發學習路線。 下麵分十個章節來說明大數據開發要學習的內容: 以上就是一個大數據新手,想要學會大數據開發,需要學習的內容,大數據學習是一個持續的過程,只要用心學,沒有學不會的東西哦! 推薦一個大數 ...
  • Oracle資料庫的管理相較於其他資料庫,是比較麻煩的,客戶端工具的安裝都要花一些時間,目前有一款treesoft軟體,通過網頁的方式管理Oracle。 功能包括:資料庫的展示,庫表的展示,表欄位結構的展示, SQL語句的線上編輯批量執行,表結構的線上設計維護,數據的線上編輯維護,數據可視化,數據定 ...
  • Android系統的運行時庫層代碼是用C++來編寫的,用C\++ 來寫代碼最容易出錯的地方就是指針了,一旦使用不當,輕則造成記憶體泄漏,重則造成系統崩潰。不過系統為我們提供了智能指針,避免出現上述問題,本文將系統地分析Android系統智能指針(輕量級指針、強指針和弱指針)的實現原理。 在使用C++來 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...