3 回答
TA贡献1772条经验 获得超5个赞
如果您不使用MapView,我认为您是bottom_sheet_layout在同一片段中对 Google Map + 进行充气。如果是,我认为您的问题不是 LinearLayout 透明度,而是您插入bottom_sheet_layout到片段容器的底部,而不是地图上方。
您可以将此布局用于您的地图片段(androidx,但如果您使用的是 android,则非常相似)
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- use this fragment for your google map -->
<fragment
android:id="@+id/google_map"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<!-- use this fragment for your bottom_sheet class -->
<fragment
android:id="@+id/bottom_sheet"
android:layout_margin="16dp" // with this you do not need the LinearLayout root_element
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
然后,您可以使用您的CardView( 或LinearLayout)visibility来显示或不显示该卡。
其他布局也是可能的,比如直接使用卡片视图而不是Fragment.
TA贡献1860条经验 获得超8个赞
我想我可以为您提供某种解决方案,您也可以尝试看看是否可行。
在 .java文件中使用alpha 属性
根据您的轻松程度调整值
LinearLayout l = container.findViewById(R.id.root_element);
l.setAlpha(0.4);
您也可以在 XML 文件中使用 alpha:
<LinearLayout
android:id="@+id/l1"
android:alpha="0.5"
android:layout_width="190dp"
android:layout_height="match_parent">
0.0 表示完全透明,1.0 表示完全不透明。
让我知道是否有任何解决方案适合您。然而,在这里做更多的研究,你一定会得到一个解决方案。快乐的编码。
TA贡献1804条经验 获得超2个赞
尝试背景为空。
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@null">
......
</LinearLayout>
添加回答
举报