android - Android Studio - 布局在另一个布局之上
问题描述
我正在开发一个应该通过蓝牙接收数据的 Android Studio 应用程序。目前我的应用程序有一个包含配对设备的列表和一个显示接收到的数据的面板,但它们都在同一个屏幕上(布局)。我想让 PairedDevice 列表显示在整个屏幕上,当我选择一个设备时,该列表确实变得不可见,并且显示数据的面板。我不知道该怎么做,这是我的接口代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:background="@drawable/list_background"
tools:context=".ListDeviceActivity">
<LinearLayout
android:id="@+id/DataExchange"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/DataTitle"
android:layout_width="match_parent"
android:layout_height="40dp"
android:text="Data:"
android:textAlignment="center"
android:textColor="#000000"
android:visibility="invisible"
android:textSize="20dp"></TextView>
<TextView
android:id="@+id/status"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginBottom="150dp"
android:layout_weight="1"
android:gravity="bottom"
android:textSize="20dp"></TextView>
<Button
android:id="@+id/LcdPlayAndPause"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="Lcd_Pause">
</Button>
<Button
android:id="@+id/PlayAndPause"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="Bluetooth_Pause">
</Button>
<Button
android:id="@+id/Zero"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="Zero"></Button>
<Button
android:id="@+id/Unit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="Unit">
</Button>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@id/title"
android:layout_width="200dp"
android:layout_height="40dp"
android:text="Paired Devices"
android:textAlignment="center"
android:textColor="#000000"
android:textSize="20dp">
</TextView>
<ListView
android:id="@+id/pairedlist"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="150dp" />
</LinearLayout>
解决方案
这很简单。最初将列表设置为 match_parent 的高度并将面板布局设置为消失。在项目列表的 onClick 方法中,只需使列表消失并将面板可见性设置为 VISIBLE。看来您已将该属性设置为“不可见”,但您可以使其“消失”。
<LinearLayout
android:id="@+id/DataExchange"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:visibility="gone"
android:orientation="vertical">
通过这种方式,您可以让它消失,直到执行 onClick,然后您可以在您的设备列表中执行此操作,
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="gone"
android:orientation="vertical">
推荐阅读
- r - 更新 R,我不明白 R 更新到最新版本后 R 的工作逻辑
- excel - 空单元到早期的 While Wend
- python - 如何改进我的随机字符串生成器
- matplotlib - TypeError:“元组”对象不可调用;matplotlib 无花果大小
- ajax - 我的 ajax 数据提交函数抛出错误
- tensorflow - 如何解决 model.predict() 中的 ValueError?
- python-3.7 - 如何为 python 3.7 安装 staza(此命令返回错误(!pip install stanza))
- java - 自定义 ThrowableRenderer 不工作 log4j 1.x
- python - hackerearth - 列表轮换问题 - 运行时错误 NZEC
- c# - 获取C#变量下函数的MethodInfo