阶段小练—篮球比赛计分器
階段性回顧
回顧內(nèi)容:
VieModel Screen Orientation
LiveData Localization
DataBinding Vector Drawable
UI界面
由上而下解析:
第一行兩個textView 控件用于顯示隊伍 A和隊伍B
第二行兩個textView控件用于顯示兩隊的比分
中間三行Button控件用于點擊增加分?jǐn)?shù)
最后一行為兩個矢量圖標(biāo)/圖片按鈕,左邊用于后退一步加分操作,右邊將分?jǐn)?shù)初始化為 0:0
界面字體背景優(yōu)化
為方便調(diào)節(jié)字體的大小,可以創(chuàng)建需要的資源
分別創(chuàng)建了三種字體大小不同的資源,分別供應(yīng)于 隊伍名、比分、按鈕的字體大小使用
為區(qū)別隊伍的劃分,改變 兩隊伍比分的字體顏色和背景
字體顏色改變:textColor
背景改變 :background
調(diào)用矢量圖形的方法
res -> new -> Vector Asset
注意:使用矢量圖形需要在 Gradle 中聲明一句話,用于上下兼容,因為在低于5.0以下不支持矢量圖
解決方法:在Gradle 中加入上圖中的話
android.defaultConfig.vectorDrawables.useSupportLibrary = true
同時,由于一會兒需要用到DataBinding,所以添加
dataBinding{
enabled true
}
最后Sync一下,不出現(xiàn)紅色則沒有問題
注意點: 調(diào)用 imageView或imageButton時,我們需要增加參數(shù):contentDescription
這個參數(shù)的意義在于照顧一些生理功能有缺陷的人,如果圖片復(fù)雜,用戶色盲色弱,則這個參數(shù)可以供系統(tǒng)讀出來,加強用戶體驗。例如中間幾行的按鈕讀的話,就可以是 加1 加2、、、、
代碼部分
MyViewModel
創(chuàng)建一個New Class : MyViewModel
繼承于 ViewModel
MainActivity
將 MyViewModel 綁定進去
因為我們使用 dataBinding 所以進行如下修改
添加變量,name = “data”,類為”MyViewModel“
再次強調(diào)
Providers 已經(jīng)啟用,需要采用新的方法
使用方法:首先,在build.grade中添加依賴(版本可不一樣)
implementation’androidx.lifecycle:lifecycle-extensions:2.2.0’
Sync以下,不出現(xiàn)紅色則沒有問題
之后,先:導(dǎo)入包 ->
import androidx.lifecycle.ViewModelProvider;
再:
myViewModel = new ViewModelProvider(this).get(MyViewModel.class);數(shù)據(jù)綁定
Button按鈕的數(shù)據(jù)綁定
如圖,點擊一個button控件,右鍵 -> Go to XML
添加方法進行數(shù)據(jù)綁定
android:onClick="@{()->data.aTeamAdd(1)}"
分別對與隊伍A與隊伍B加分的數(shù)據(jù)進行綁定
如上圖所示表示對于隊伍A 的加一分的數(shù)據(jù)進行綁定
同理,其他加分項進行相對應(yīng)的處理
TextView的數(shù)據(jù)綁定
右鍵 -> Go to XML
進行如下修改:(函數(shù)調(diào)用方法)
android:text="@{String.valueOf(data.getaTeamScore())}"
同理,B隊伍 Score TextView數(shù)據(jù)綁定做相應(yīng)的處理
Screen Orientation(屏幕旋轉(zhuǎn))
按鈕高度以及字體大小優(yōu)化
設(shè)置橫屏狀態(tài)下的布局
點擊 -> Creat Landscape Variation
看圖我們?nèi)菀椎玫?#xff0c;由于我們設(shè)置的字體或邊框太大,導(dǎo)致橫屏狀態(tài)下,按鈕控件之間非常緊密
我們再設(shè)置一些資源供橫盤狀態(tài)下使用
按鈕高度
將豎屏狀態(tài)按鈕高度改為60sp
同時設(shè)置橫屏?xí)r的高度
并將橫屏下的按鈕高度參數(shù)設(shè)為此資源
字體大小
同理,依次配置
Localization(本地化)
進行語言支持,點擊 Default -> Edit Translations -> 點擊地球圖標(biāo) ->添加Chinese
根據(jù)需要進行相應(yīng)的漢化,如圖:
注意:漢化效果的展示需要將手機換為中文環(huán)境
調(diào)試運行
豎屏狀態(tài):
橫屏狀態(tài)
本地化模式
總結(jié)
以上是生活随笔為你收集整理的阶段小练—篮球比赛计分器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 羊驼交易系统
- 下一篇: python语言的保留字有哪些_Pyth