我有这样的布局,“scrolling_container”占用了所有可用空间,但不超过它的内部内容所要求的:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/fancy_image"
android:layout_height="185dp"
android:layout_width="match_parent"
/>
<ScrollView
android:id="@+id/scrolling_container"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="1"
>
<RelativeLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
>
...
</RelativeLayout>
</ScrollView>
<LinearLayout
android:id="@+id/bottom_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
...
</LinearLayout>
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/fancy_image"
android:layout_height="185dp"
android:layout_width="match_parent"
/>
<ScrollView
android:id="@+id/scrolling_container"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="1"
>
<RelativeLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
>
...
</RelativeLayout>
</ScrollView>
<LinearLayout
android:id="@+id/bottom_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
...
</LinearLayout>
</LinearLayout>
为此,我添加了。它适用于除旧款索尼爱立信设备之外的所有设备。在SE Experia设备上,ScrollView不会根据需要进行扩展。它的高度只有~50dp,因为我需要至少150dp。
我也在使用HoloEverywhere lib。
如何让HoloEverywhere LinearLayout不要忽略android:layout_weight="1"
属性?
答案 0 :(得分:1)
我发现的一个解决方案是使用RelativeLayout,但它并不总是合适的。
在这种情况下,我无法使用RelativeLayout,因此我通过将android.widget.
添加到LinearLayout
来使用了线性LinearLayout实现:
<android.widget.LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/fancy_image"
android:layout_height="185dp"
android:layout_width="match_parent"
/>
<ScrollView
android:id="@+id/scrolling_container"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="1"
>
<RelativeLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
>
...
</RelativeLayout>
</ScrollView>
<LinearLayout
android:id="@+id/bottom_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
...
</LinearLayout>
</android.widget.LinearLayout>
<android.widget.LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/fancy_image"
android:layout_height="185dp"
android:layout_width="match_parent"
/>
<ScrollView
android:id="@+id/scrolling_container"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="1"
>
<RelativeLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
>
...
</RelativeLayout>
</ScrollView>
<LinearLayout
android:id="@+id/bottom_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
...
</LinearLayout>
</android.widget.LinearLayout>
现在正在按预期扩展。 :)
答案 1 :(得分:0)
Github中有一个未解决的问题:https://github.com/Prototik/HoloEverywhere/issues/543