Android開發學習(9)--BeatBox(2)
文章目錄
前言
既然BeatBox應用的音效能嚇退人,它的使用者介面也應透出一定的威懾力。
當前,BeatBox應用依然還是一副Android千年不變的老面孔。按鈕普通,配色灰暗。整個應 用看上去毫不起眼,沒有品牌特色。
不過我們有技術,使用樣式和主題,就能定製出漂亮的使用者介面。與之前相比,新介面更加美觀、惹眼,獨具風格。
一、實驗步驟
1.顏色資源
a 定義幾種顏色(res/values/colors.xml)
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="red">#F44336</color>
<color name="dark_red">#C3352B</color>
<color name="gray">#607D8B</color>
<color name="soothing_blue">#0083BF</color>
<color name="dark_blue">#005A8A</color>
</resources>
b 新增樣式(res/values/styles.xml)
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="BeatBoxButton">
<item name="android:background">@color/dark_blue</item>
</style>
</resources>
c 使用樣式(res/layout/list_item_sound.xml)
<Button
style="@style/BeatBoxButton"
android:layout_width="match_parent"
android:layout_height="120dp"
android:onClick="@{() -> viewModel.onButtonClicked()}"
android:text="@{viewModel.title}"
tools:text="Sound name"/>
d 繼承樣式(res/layout/styles.xml)
<style name="BeatBoxButton">
<item name="android:background">@color/dark_blue</item> </style>
<style name="BeatBoxButton.Strong">
<item name="android:textStyle">bold</item>
</style>
2. 新增主題顏色
a 自定義主題屬性(res/values/styles.xml)
<style name="AppTheme" parent="Theme.AppCompat">
<item name="colorPrimary">@color/red</item>
<item name="colorPrimaryDark">@color/dark_red</item>
<item name="colorAccent">@color/gray</item>
</style>
b 設定視窗背景(res/values/styles.xml)
<style name="AppTheme" parent="Theme.AppCompat">
<item name="colorPrimary">@color/red</item>
<item name="colorPrimaryDark">@color/dark_red</item>
<item name="colorAccent">@color/gray</item>
<item name="android:windowBackground">@color/soothing_blue</item>
</style>
c 使用BeatBoxButton樣式(res/values/styles.xml)
<resources>
<style name="AppTheme" parent="Theme.AppCompat">
<item name="colorPrimary">@color/red</item>
<item name="colorPrimaryDark">@color/dark_red</item>
<item name="colorAccent">@color/gray</item>
<item name="android:windowBackground">@color/soothing_blue</item>
<item name="buttonStyle">@style/BeatBoxButton</item>
</style>
<style name="BeatBoxButton" parent="Widget.AppCompat.Button">
<item name="android:background">@color/dark_blue</item>
</style>
</resources>
二、模擬器執行結果
三、真機執行結果
相關文章
- Android開發學習之路Android
- Android開發學習之路03Android
- Android 開發學習筆記Android筆記
- Android 開發學習程式0.32 dwonloadmanager使用Android
- substrate學習筆記9:開發智慧合約筆記
- 【經驗】學習android開發的步驟Android
- Android 開發者學習路線(2020 版)Android
- Android輸入法開發 新手學習指引Android
- 現在學習Android開發還有前景嗎Android
- Android開發學習之路--React-Native混合開發初體驗AndroidReact
- 史上最全的Android開發學習教程集錦【初學者】Android
- 現在學習Android開發還有錢途嗎?Android
- Android開發者珍藏必備【學習資料篇】Android
- 開發了5年android,我開始了go學習之旅AndroidGo
- Android小技巧:Android開發究竟該如何學習,年薪超過80萬!Android
- Java後臺開發學習(2)——攔截器Java
- 微信小程式開發學習筆記[2]微信小程式筆記
- Android 開發學習程式0.27 kotlin使用 和viewbinding的使用AndroidKotlinView
- Flutter學習(9)——Flutter外掛實現(Flutter呼叫Android原生FlutterAndroid
- Android學習開發(問題解決)——android Unable to inflate view tag without class attributeAndroidView
- Android Oreo 常見問題 2.0 | Android 開發者 FAQ Vol.9Android
- Android開發之從零開始學RxJava 2.x(一)認識RxjavaAndroidRxJava
- Android併發學習之阻塞佇列Android佇列
- 不可以錯過的Android學習!帶你看Android Jetpack 最佳開發姿勢!AndroidJetpack
- Android學習—— Android佈局Android
- Web開發學習Web
- 應對快速變化的Android開發環境:高效學習策略Android開發環境
- Android App開發學習第二十二天:FragmentAndroidAPPFragment
- 學 Flutter,能挽救Android 開發嗎?FlutterAndroid
- Laravel深入學習9 – 開放封閉原則Laravel
- android驅動學習入門-android應用怎麼呼叫驅動2Android
- Android開發知識:Dagger2入門Android
- Android學習-HandlerAndroid
- Android開發者必備的技能你會嗎?MVVM 最新學習心得!AndroidMVVM
- Android 開發學習程式0.28 騰訊TBS接入和相關問題Android
- Redis基礎知識(學習筆記9--Redis命令(2))Redis筆記
- 2024/9/10學習心得
- Python學習DAY9Python