Android SeekBar 长度与 layout_width 值不匹配

Posted

技术标签:

【中文标题】Android SeekBar 长度与 layout_width 值不匹配【英文标题】:Android SeekBar Length Not Matching layout_width Value 【发布时间】:2015-10-01 01:00:05 【问题描述】:

我正在尝试在布局中创建一个具有硬编码宽度的搜索栏,但是,一旦搜索栏的硬编码宽度值超过某个值,搜索栏的宽度将不会反映我设置的值。例如:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_>
    <SeekBar
        android:rotation="270"
        android:id="@+id/volumeBar"
        android:layout_
        android:layout_margin="1px"
        android:layout_
        android:layout_centerInParent = "true"/>
</RelativeLayout>

产生一个短的搜索栏,因为宽度规定它应该只有 50dp 长。这是布局:

现在,当我将 layout_width 更改为 300dp 时,我看到一个剪裁的搜索栏,它肯定不是 300dp 长。这是文件和布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_>
    <SeekBar
        android:rotation="270"
        android:id="@+id/volumeBar"
        android:layout_
        android:layout_margin="1px"
        android:layout_
        android:layout_centerInParent = "true"/>
</RelativeLayout>

注意: 似乎搜索栏被限制在相对布局(红色矩形)的宽度内,并且搜索栏的长度(由 android:layout_width 指定)会超过宽度在 RelativeLayout 中,它的长度是有上限的。 如何使搜索栏符合我想要的硬编码长度?

编辑:我在下面包含了父活动的 xml 文件。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_ 
    android:orientation="horizontal"
    android:baselineAligned="false"
    android:keepScreenOn="true">

    <LinearLayout    
        android:layout_
        android:layout_
        android:layout_weight="1.25"
        android:background="#ffdd4c4f"
        android:orientation="vertical" 
        android:id="@+id/toolbarGestureOverlay" >
        <android.support.v4.view.ViewPager
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/pager"
            android:layout_
            android:layout_>
        </android.support.v4.view.ViewPager>
    </LinearLayout>  

    <LinearLayout
        android:layout_
        android:layout_
        android:orientation="vertical" 
        android:layout_weight="3.75">
    <com.example.project.Multitouch
        android:id="@+id/fretBoard"  
        android:layout_
        android:layout_
        android:background="#3EF20C"/>
    </LinearLayout>    
</LinearLayout>

【问题讨论】:

我遇到了同样的问题。你有什么解决办法吗! 这里也一样!有什么解决办法吗? 我还没有找到解决办法。 【参考方案1】:

你可以试试

   <SeekBar
        android:rotation="270"
        android:id="@+id/volumeBar"
        android:layout_
        android:layout_margin="10dp"
        android:layout_
        android:layout_centerInParent = "true"/>

【讨论】:

没有用。搜索栏仍然出现在我发布的第二张图片中。

以上是关于Android SeekBar 长度与 layout_width 值不匹配的主要内容,如果未能解决你的问题,请参考以下文章

如何从 seekbar Android Kotlin 更改字符串的长度

android 如何重写seekbar

android关于自定义seekbar控件的问题(将横向seekbar改成竖向seekbar)

seekbar属性设置

android seekbar 有没有从右到左的解决方法

android seekbar 4.0样式 怎么出来2.3