這是我目前情況的一個小小圖片。我猜很多圖像比許多單詞更好。 在不影響框架的情況下替換圖片
正如您所看到的,當我切換爲較小的圖像時,搜索欄大小會發生變化。我知道這是因爲seekbar寬度設置爲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>
你可以爲你的ImageButtons設置一個明確的寬度,或者利用權重(如果你切換到線性佈局)到你的視圖來避免它。例如,一個weightSum爲10的LinearLayout,每個ImageButton的寬度爲0dp,權重爲1,SeekBar的寬度爲0dp,權重爲8,則動態性較差。你也可以使用像scaleInside這樣的縮放類型,以確保你的圖像不會縮小奇怪。 – zgc7009