我有一個ViewPager和帶有選項卡的ActionBar。其中一個選項卡有一個ListView,當我點擊該ListView中的某個選項時,我添加了一個子片段,它是該行的詳細視圖。在ScrollView中查看與配置不匹配的父
該詳細視圖是一個帶有LinearLayout的ScrollView。 ScrollView是match_parent/match_parent
,其中的LinearLayout是width=match_parent
和height=wrap_content
。在手機大小的模擬器上,細節視圖根據需要填充屏幕,但在平板電腦上,細節視圖僅覆蓋屏幕寬度的一部分...即使ScrollView的寬度和LinearLayout的寬度是兩者都是match_parent。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rootView" style="@style/RootScrollView">
<LinearLayout android:id="@+id/scrollContentView" style="@style/ScrollViewContent">
...
</LinearLayout>
</ScrollView>
這裏是滾動視圖的樣式:
<style name="RootScrollView">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
</style>
下面是對內容的LinearLayout樣式:
<style name="ScrollViewContent">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:paddingLeft">15dp</item>
<item name="android:paddingRight">15dp</item>
<item name="android:orientation">vertical</item>
<item name="android:background">@drawable/image_legal_paper_tile</item>
</style>
內容觀點已經重複背景image_legal_paper_tile
它是本:
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/legal_paper_tile"
android:gravity="fill_horizontal"
android:tileMode="repeat" />
因此,圖像應該水平拉伸並重復,從而在背景中創建一個黃色的法律紙墊。
這就是列表和詳細信息視圖看起來像手機模擬器:
這就是列表和詳細信息視圖看起來像一個真正的平板電腦。黃色的合法填充片段應該填充屏幕的整個寬度,但事實並非如此。
編輯:
這裏是背景的法律文件圖片:
這是320像素寬。手機模擬器的寬度爲480px,圖像正確伸展以填充屏幕寬度。然後按照預期垂直重複。但是,這並不是爲了填充平板電腦屏幕的寬度。
平板電腦上顯示的寬度不是圖像的原始大小,因爲它會根據內容更改大小。當片段第一次加載時,它是一個寬度。然後填寫字段並執行計算,在內容視圖的底部添加一些文本。該文本比現有內容更寬,因此設置文本時,片段的寬度會增加以支持更寬的內容。
因此,簡而言之,不是,平板電腦的寬度不是圖像的原始大小。圖像伸展,只是不能伸展。
對所有佈局尺寸只使用一種佈局嗎?你的背景圖像有多大?平板電腦上顯示的背景圖像大小是什麼?然後它可以是一個瓦重複問題(爲此可能檢查此[鏈接](http://stackoverflow.com/questions/4077487/background-image-not-repeating-in-android-layout))。 – abbath 2013-03-17 21:20:20
平板電腦上顯示的寬度不是圖像的原始大小,因爲它會根據內容更改大小。當片段第一次加載時,它是一個寬度。然後填寫字段並執行計算,在內容視圖的底部添加一些文本。該文本比現有內容更寬,因此設置文本時,片段的寬度會增加以支持更寬的內容。 – 2013-03-18 05:06:09
如果您在滾動的子項的線性佈局中使用了佈局邊距,則應將其更改爲填充以正常工作。 – 2016-12-07 08:15:11