首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓安科找吧剥皮

安卓安科找吧剥皮
EN

Stack Overflow用户
提问于 2018-01-17 09:37:41
回答 1查看 305关注 0票数 0

在我的anko (我使用0.10.4)布局中有一个SeekBar,如下所示

代码语言:javascript
复制
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

代码语言:javascript
复制
<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

代码语言:javascript
复制
<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“标记时,我有一个正确的查找条实现见图

代码语言:javascript
复制
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

代码语言:javascript
复制
<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"
/>

有谁面临同样的问题吗?如果可能的话我该怎么解决呢?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-11 10:07:27

我今天也面临着同样的问题。我也花了几个小时来解决这个问题,但我根本找不到任何“正常”的解决办法。

最后,我用java反射对字段mMaxHeight进行修改,以实现结果。

只需注意,ProgressBar.class,属于mMaxHeight,因此您需要使用ProgressBar.class来找到它。

代码语言:javascript
复制
val field = ProgressBar::class.java.getDeclaredField("mMaxHeight")
val accessible = field.isAccessible
field.isAccessible = true
field.setInt(seekBar, [value])
field.isAccessible = accessible

结果

我不知道这是好的还是坏的,它只是能为我工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48297817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档