我在一個視圖中有一個描述元數據在底部。試圖在代碼中發生案件時顯示額外的標題文本視圖,因此可以顯示或不顯示此文本視圖。但是,如果我這樣做,我的線性佈局(藍色)的高度會增加,這實際上是我想要避免的。Android在包裝高度上動態設置滾動視圖
由於所有高度均爲WRAP_CONTENT,因此在標題文本視圖出現之前,如何保持線性佈局所具有的高度?
這是我的佈局看起來像至今:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/pp_white"
android:orientation="vertical"
android:padding="@dimen/margin_normal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Title"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Desc 1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="desc 2"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Desc 3"/>
<TextView
android:id="@+id/extra_caption"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Extra Caption"
android:visibility="gone"/>
</LinearLayout>
我知道一個滾動視圖會需要肯定的,但我想使用滾動視圖時,多餘的標題(文本視圖)具有可視性作爲VISIBLE,否則我不想使用滾動視圖。
我試圖做到這一點沒有成功至今:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/pp_white"
android:orientation="vertical"
android:padding="@dimen/margin_normal">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Title"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Desc 1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="desc 2"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Desc 3"/>
<TextView
android:id="@+id/extra_caption"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Extra Caption"
android:visibility="gone"/>
</LinearLayout>
</ScrollView>
</LinearLayout>
換句話說,我想這樣做:
爲什麼你發佈的第二個佈局不起作用?那有什麼問題?您將始終必須使用ScrollView,因爲屏幕大小不同,如果視圖不合適,您應該滾動,例如,在橫向視圖中,沒有滾動,任何東西都不適合。 – Sharj
事情是,因爲我沒有爲每個TextView定義高度,所以包裹這些(Blue)的LinearLayout不保持相同的高度,而不是增加它。所以我的目標是,保持相同的高度 –
然後給藍色部分固定高度,並把ScrollView只在藍色區域。 – Sharj