在不影响框架的情况下更换图像

时间:2016-04-05 15:50:58

标签: android layout imageview

这是我目前情况的一个小GIF。我想很多图像都比很多单词更好。 seekbar bug

正如您所注意到的,当我切换较小的图像时,搜索条的大小会发生变化。我知道这是因为搜索栏的宽度设置为match_parent,图像的宽度设置为wrap_content

我不知道如何克服这个问题,因为我无法对宽度值进行硬编码,否则它可能会在各种屏幕上搞砸。

所以我的问题是:

有没有办法防止这种干净的行为?我可以简单地在运行时获得宽度并将其设置为最小宽度,它可能会起作用(哎呀,我现在可以尝试确保它),但这只是一个可怕的事情来做代码。

理想情况下,我猜测有一种方法可以在.xml文件中阻止这种情况,但我无法弄明白,使用不同的填充,边距,缩放和布局大小。

以下是您正在查看的内容:

<RelativeLayout
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="0dp">
        <ImageButton
            android:background="@android:color/transparent"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scaleType="center"
            android:id="@+id/playButton"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="30dp"
            android:layout_centerVertical="true"
            android:src="@drawable/play"
            android:onClick="PlayButtonClicked" />
        <SeekBar
            android:max="100"
            android:id="@+id/volumeSeekBar"
            android:layout_centerVertical="true"
            android:layout_margin="15dp"
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_toRightOf="@+id/playButton"
            android:layout_toLeftOf="@+id/muteButton" />
        <ImageButton
            android:background="@android:color/transparent"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scaleType="center"
            android:id="@+id/muteButton"
            android:layout_alignParentRight="true"
            android:layout_marginRight="30dp"
            android:layout_centerVertical="true"
            android:onClick="MuteButtonClicked"
            android:src="@drawable/sound" />
    </RelativeLayout>

1 个答案:

答案 0 :(得分:0)

理想情况下,音量图标的大小相同会很好。

如果这不是一个选项,请尝试将android:layout_toLeftOf="@+id/muteButton"替换为android:layout_marginRight="15dp+30dp+largest_icon_width_in_dp" 其中15dp是你的搜索栏右边距,30dp是静音按钮右边距。

第三个选项是将静音按钮的固定宽度设置为等于最大图像的宽度。