我有一个 LinearLayout,它将有一个取消按钮和一个进度条,其中进度条为 70%,取消按钮为 30%,如下所示:
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<ProgressBar
android:id="@+id/uploadProgressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dp"
android:layout_weight=".7"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
/>
<Button
android:id="@+id/uploadCancelButton"
style="@style/TitleBarButton"
android:layout_width="0dp"
android:layout_weight=".3"
android:layout_height="wrap_content"
android:text="@string/cancel_btn"
android:layout_gravity="center_vertical"
/>
</LinearLayout>
这很好用,但是我意识到实际上我想要显示进度条或文本视图,其中文本视图可能是一个小的状态消息(如果说上传失败)。
我尝试在上面的 LinearLayout 中放置一个 TextView,并将其可见性默认设置为“已消失”,并且权重设置与进度条相同。在代码中,我只会将进度条设置为可见或文本视图,而将另一个设置为消失。然而,android 系统似乎对总重量贡献了不可见项目的重量。我什至尝试在 LinearLayout xml 属性中使用 android:weightSum="1.0" 但是我的按钮不再可见,因为即使文本消失了,它也占用了空间。