直播原始碼網站,自定義平臺介面,完成各項內容更改

zhibo系統開發發表於2021-12-29

直播原始碼網站,自定義平臺介面,完成各項內容更改

新增依賴:

implementation 'com.android.support:design:30.0.3'

使用:

    <com.google.android.material.button.MaterialButton
 
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:gravity="center"
        android:insetLeft="50dp"
        android:insetTop="5dp"
        android:insetRight="50dp"
        android:insetBottom="5dp"
        android:text="確認辦理"
        android:textColor="#ffffffff"
        app:strokeColor="#000000"
        app:strokeWidth="2dp"
        android:textSize="24sp"
        android:theme="@style/Theme.MaterialComponents.Light.DarkActionBar"
        android:visibility="visible"
        app:backgroundTint="#FFA54C" />

MaterialButton繼承AppCompatButton,在原來Button的基礎上做了一些擴充套件,如圓角、描邊、前置和後置icon(icon支援設定Size、Tint、Padding、Gravity等),還支援按壓水波紋並且設定color,基本能滿足日常的需求。

公開屬性如下:

屬性                            描述
app:backgroundTint                  背景著色
app:backgroundTintMode              著色模式
app:strokeColor                     描邊顏色
app:strokeWidth                     描邊寬度
app:cornerRadius                    圓角大小
app:rippleColor                     按壓水波紋顏色
app:icon                            圖示icon
app:iconSize                        圖示大小
app:iconGravity                     圖示重心
app:iconTint                        圖示著色
app:iconTintMode                    圖示著色模式
app:iconPadding                     圖示和文字之間的間距

關於background

在1.2版本以前,MaterialButton只能通過app:backgroundTint屬性設定背景色,該屬性接收color state list。不能通過android:background設定自定義drawable。

1.2版本後,官方已修復此問題。如果未設定自定義背景,則 MaterialShapeDrawable 仍將用作預設背景。

也就是說,如果按鈕背景是純色,可以通過app:backgroundTint指定;如果按鈕背景是漸變色,則需要自己定義drawable,然後通過android:background設定。

注意:如果要使用android:background設定背景,則需要將backgroundTint設定為@empty,否則background不會生效。

<com.google.android.material.button.MaterialButton
    android:background=”@drawable/custom_background”
    app:backgroundTint=”@empty” />

指定@empty後,Android Studio會出現紅色警告,可以正常執行,忽略就好。不過既然已經自定義drawable,就沒必要使用MaterialButton,直接用普通的Button甚至用TextView就好了。

關於陰影:

MD元件預設都是自帶陰影的,MaterialButton也不例外。但是有時候我們並不想要按鈕有陰影,那麼這時候可以指定style為

style="@style/Widget.MaterialComponents.Button.UnelevatedButton",這樣就能去掉陰影,讓檢視看起來扁平化。

關於theme

在MDC1.1.0以後,使用MaterialButton可能會出現閃退的問題,原因就是使用了MD控制元件,但是未將them設定為MaterialComponents。解決方法可以有幾種:

先在style.xml自定義MaterialComponents_Theme


 <style name="MaterialComponents_Theme" parent="Theme.MaterialComponents.Light.NoActionBar">
        <!-- Customize your theme here. -->
        ...
    </style>

方法一:

AndroidManifest裡application節點下配置,作用域為整個應用

<application
        ...
        android:theme="@style/MaterialComponents_Theme"

方法二:

只在當前activity配置,作用域為當前activity

<activity
        ...
        android:theme="@style/MaterialComponents_Theme"

方法三:

為每個在使用到MD控制元件的地方配置,作用域只針對當前控制元件

<com.google.android.material.button.MaterialButton
...
    android:theme="@style/Theme.MaterialComponents.Light.NoActionBar" />

以上就是直播原始碼網站,自定義平臺介面,完成各項內容更改, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2849911/,如需轉載,請註明出處,否則將追究法律責任。

相關文章