在我的anko (我使用0.10.4)布局中有一个SeekBar,如下所示
seekBar {
max = 2
progress = 1
progressDrawable = drawable(R.drawable.seek_bar_progress)
thumb = drawable(R.drawable.seek_bar_thumb)
onSeekBarChangeListener {
onProgressChanged { _, progress, _ ->
// Something
}
}
}.lparams(matchParent) {
setMargins(dip(16), dip(8), dip(16), dip(8))
}seek_bar_progress.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#D9D9D9"/>
</shape>
</item>
<item android:id="@android:id/progress">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/colorRed"/>
</shape>
</item>
seek_bar_thumb.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="oval">
<solid android:color="@color/colorRed"/>
<size android:height="26dp" android:width="26dp"/>
</shape>
</item>
在任何安卓设备见图上,我对这种设置都有丑陋的看法。
但是当我使用"include“标记时,我有一个正确的查找条实现见图
include<SeekBar>(R.layout.seek_lay) {
progress = 1
onSeekBarChangeListener {
onProgressChanged { _, progress, _ ->
// Something
}
}
}.lparams(matchParent) {
setMargins(dip(16), dip(8), dip(16), dip(8))
}seek_lay.xml
<SeekBar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:max="2"
android:maxHeight="2dp"
android:minHeight="2dp"
android:progress="1"
android:progressDrawable="@drawable/seek_bar_progress"
android:thumb="@drawable/seek_bar_thumb"
/>有谁面临同样的问题吗?如果可能的话我该怎么解决呢?谢谢
发布于 2018-04-11 10:07:27
我今天也面临着同样的问题。我也花了几个小时来解决这个问题,但我根本找不到任何“正常”的解决办法。
最后,我用java反射对字段mMaxHeight进行修改,以实现结果。
只需注意,ProgressBar.class,属于mMaxHeight,因此您需要使用ProgressBar.class来找到它。
val field = ProgressBar::class.java.getDeclaredField("mMaxHeight")
val accessible = field.isAccessible
field.isAccessible = true
field.setInt(seekBar, [value])
field.isAccessible = accessible我不知道这是好的还是坏的,它只是能为我工作。
https://stackoverflow.com/questions/48297817
复制相似问题