我的佈局的一部分應該有兩個組件:頂部的ScrollView和底部的MapView。這兩個視圖應該只是父級的一半大小。如何在視圖中定義最大或相對尺寸?
我有父母的大小(我切換到這個佈局在一個點上,當我已經有了大小),但我不知道如何定義最大大小。此外,我認爲有一個解決方案不需要定義大小;例如通過類似Swing樣式的GridLayout,或者在某處定義重量,但是我沒有發現任何聽起來像會起作用的東西。
我目前的做法是這樣的位置,它定義了最小尺寸,這顯然只要滾動型增長超過母公司的一半高度分崩離析:
佈局(父是的LinearLayout):
<LinearLayout
android:id="@+id/result_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone"
>
<ScrollView
android:id="@+id/result_scroll"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical"
>
<LinearLayout
android:id="@+id/result"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:paddingRight="?android:attr/scrollbarSize"
android:orientation="vertical"
/>
</ScrollView>
<view class="com.google.android.maps.MapView"
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
和代碼,之後我切換到它(totalWidth是父,viewHeight父的高度的一半的寬度):
LinearLayout.LayoutParams lp =
new LinearLayout.LayoutParams(totalWidth, viewHeight);
scrollView.setLayoutParams(lp);
我知道馬克是完成這項任務的!沒有佈局問題太大。 AFAIU,大多數Android佈局在「最小高度」的概念下運行,所以在測量之後,如果使用fill_parent,視圖將獲得測量的高度或整個父母的高度。 – EboMike 2010-10-18 01:06:00
至於你的第二個問題 - 逗號是分開的例子,即「我認爲有一個解決方案,不需要定義的大小:[例子從這裏開始]使用GridLayout,或定義一個重量」。對不起,那是模棱兩可的。 – EboMike 2010-10-18 01:07:33
順便說一句,我試過了,它有點作品,但沒有最低高度。 ScrollView最初有一個非常小的高度,所以地圖佔據了大部分屏幕。隨着ScrollView的增長,它佔用更多空間,但從未超過高度的一半,這很好。我會接受你的答案,但是你對如何製作父母的最小尺寸一半有任何想法嗎? – EboMike 2010-10-18 01:15:02