java - 如何使片段背景透明?
问题描述
我正在使用带有 nav_graph 的 Android 导航组件,我想让所有片段的背景透明。我尝试使用以下资源中的代码:单击 活动它工作正常,但在片段背景中始终为白色。
public class SettingsFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_settings, container, false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
view.setBackground(new ColorDrawable(Color.TRANSPARENT));
}
}
解决方案
解决这个问题的最简单方法是在 XML 中设置 Fragment 的透明度。
您可以像这样定义透明颜色colors.xml
:
<color name="transparent">#00000000</color>
然后像这样在您的 fragment.xml 中引用它:android:backgroundTint="@color/transparent"
此外,建议将 View-Altering 命令设置为onCreate()
.
您还可以在 中定义一个android:alpha="0"
属性.xml
来测试是否将背景颜色设置为透明。但我想这只会改变整个片段的不透明度,包括子元素。
推荐阅读
- javascript - 有什么方法可以清除当前路由视图并在 ember 中为另一个路由器执行新的转换?
- php - 如何在 PHP 数组中获取值?
- python - 多个 wait_for 消息 discord.py
- python - 如何比较 Dataframe 中的多值重复项
- android - 将适配器文本传递给片段创建问题
- c# - NavigationView 上的 Windows.UI.Xaml.Markup.XamlParseException
- database - 未指定关系类型的 Neo4j 查询
- python - Discord py - 带有字典变量的菜单
- java - 接口的默认方法存储在内存中的哪里?
- ios - iOS 中的黑莓集成