gpt4 book ai didi

android - 在 Android 1.5 上查看与 RelativeLayout 的重叠

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:16:35 24 4
gpt4 key购买 nike

我在 Android 1.5 上的 RelativeLayout 中遇到重叠 View 的问题...在 Android 1.6 及更高版本上一切正常。

我知道 Android 1.5 在 RelativeLayout 方面存在一些问题,但我无法在 StackOverflow 或 android 初学者组中找到任何关于我的具体问题的信息。

我的布局由四个部分组成,每个部分由一个 TextView、一个 Gallery 和另一个垂直对齐的 TextView 组成:

运行应用程序
最近的应用程序
服务
进程

当显示所有四组这些项目时,一切正常。但是,我的应用程序允许用户指定不显示其中一些。如果用户关闭正在运行的应用程序、最近使用的应用程序或服务,则其余部分会突然相互重叠。

这是我的布局代码。我不确定我做错了什么。当用户关闭某个部分的显示时,我使用 View.GONE 可见性设置:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:background="@null"
>
<!-- Running Gallery View Items -->
<TextView
style="@style/TitleText"
android:id="@+id/running_gallery_title_text_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:paddingLeft="1sp"
android:paddingRight="10sp"
android:text="@string/running_title"
/>

<Gallery
android:id="@+id/running_gallery_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/running_gallery_title_text_id"
android:spacing="5sp"
android:clipChildren="false"
android:clipToPadding="false"
android:unselectedAlpha=".5"
/>

<TextView
style="@style/SubTitleText"
android:id="@+id/running_gallery_current_text_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/running_gallery_id"
android:gravity="center_horizontal"
/>

<!-- Recent Gallery View Items -->
<TextView
style="@style/TitleText"
android:id="@+id/recent_gallery_title_text_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/running_gallery_current_text_id"
android:gravity="left"
android:paddingLeft="1sp"
android:paddingRight="10sp"
android:text="@string/recent_title"
/>

<Gallery
android:id="@+id/recent_gallery_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/recent_gallery_title_text_id"
android:spacing="5sp"
android:clipChildren="false"
android:clipToPadding="false"
android:unselectedAlpha=".5"
/>

<TextView
style="@style/SubTitleText"
android:id="@+id/recent_gallery_current_text_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/recent_gallery_id"
android:gravity="center_horizontal"
/>

<!-- Service Gallery View Items -->
<TextView
style="@style/TitleText"
android:id="@+id/service_gallery_title_text_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/recent_gallery_current_text_id"
android:gravity="left"
android:paddingLeft="1sp"
android:paddingRight="10sp"
android:text="@string/service_title"
/>

<Gallery
android:id="@+id/service_gallery_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/service_gallery_title_text_id"
android:spacing="5sp"
android:clipChildren="false"
android:clipToPadding="false"
android:unselectedAlpha=".5"
/>

<TextView
style="@style/SubTitleText"
android:id="@+id/service_gallery_current_text_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/service_gallery_id"
android:gravity="center_horizontal"
/>
</RelativeLayout>

我省略了进程部分的 xml(有点徒劳)试图使这个更短......

我该怎么做才能使它在 Android 1.5 中工作?我不认为这只是重新排序 xml 中的 View 的问题,因为当显示所有内容时它工作正常。

最佳答案

两种可能的解决方案:

  • 尝试将元素的高度设置为 0 或 1 像素,并将可见性设置为 INVISIBLE 而不是 GONE。
  • 将每个 Gallery/TextView 包裹在 LinearLayout 中并设置为 wrap_height,并在布局上设置上面/下面而不是 subview 。然后将子元素设置为 View.GONE,使用于相对定位的线性布局仍然可见,但包裹高度为 0。

这两种解决方案的想法都是确保您永远不会相对于 View.GONE 的 View 定位某些东西;我怀疑这是您遇到的错误的来源。

如果我可能会问,虽然......为什么你甚至需要在这里使用 RelativeLayout?乍一看,这里的所有内容都适合垂直的 LinearLayout,事实上,这种排列在概念上似乎更简单。

关于android - 在 Android 1.5 上查看与 RelativeLayout 的重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2575381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com