QMUI_Android
QMUI_Android copied to clipboard
QMUIRoundButton设置为paddingStart/paddingEnd无法获取值
运行环境
- [x] 设备型号:redmi k50 pro、小米6、vivo nex3s
- [x] 设备系统版本: Android12、Android12、Android10
- [x] Gradle 版本:如
7.5
- [x] QMUI Android 版本:
2.1.0
具体问题描述
在target>30 QMUIRoundButton的paddingStart获取不了值,其父类QMUIAlphaButton、AppCompatButton、Button就能获取paddingStart的值
val btn1 = view.findViewById<QMUIRoundButton>(R.id.btn_11)
val btn2 = view.findViewById<QMUIRoundButton>(R.id.btn_22)
Log.d("Krisez", "onCreateView: ${btn1.paddingLeft}")
Log.d("Krisez", "onCreateView: ${btn1.paddingStart}")
Log.d("Krisez", "onCreateView: ${btn2.paddingLeft}")
Log.d("Krisez", "onCreateView: ${btn2.paddingRight}")
问题截图
异常日志(堆栈)
<style name="QMUI.RoundButton" parent="@style/Button.Compat">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<!--<item name="android:padding">0dp</item>--><!-- 不用 android:padding,而用各个方向分别指定 padding,方便子类覆盖 -->
<item name="android:paddingLeft">0dp</item>
<item name="android:paddingRight">0dp</item>
<item name="android:paddingTop">0dp</item>
<item name="android:paddingBottom">0dp</item>
<item name="android:minWidth">0dp</item>
<item name="android:minHeight">0dp</item>
<item name="android:singleLine">true</item>
<item name="android:gravity">center</item>
<item name="android:ellipsize">end</item>
<item name="qmui_isRadiusAdjustBounds">true</item>
<item name="qmui_backgroundColor">?attr/qmui_skin_support_round_btn_bg_color</item>
<item name="qmui_borderWidth">?attr/qmui_round_btn_border_width</item>
<item name="qmui_borderColor">?attr/qmui_skin_support_round_btn_border_color</item>
<item name="android:textColor">?attr/qmui_skin_support_round_btn_text_color</item>
</style>
经反复尝试,将该style里的paddingL/R删去即可正常使用start/end