android - 如何修复在 AndroidStudio 活动中显示但不在模拟器/设备中显示的片段
问题描述
在进行此活动之前,我有另一个活动,我使用片段和导航组件很好,但该活动有一个空布局,只包含 <fragment,这个更复杂,它有一个来自左侧的导航视图(我已经关闭在下图中)还有一个自定义的“工具栏”(它是一个作为工具栏的 RelativeLayout,但它不属于 Toolbar 类,在这个问题上应该没关系)。
所以在这个活动中,当我使用 <fragment 时,片段确实显示在 AndroidStudio 预览中但不在活动中,这是一个演示:
以下是相关代码:
<androidx.drawerlayout.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="600dp"
android:background="@drawable/bg_gray"
android:layout_gravity="center_horizontal"
android:id="@+id/drawerLayout"
android:fitsSystemWindows="true"
android:layout_height="match_parent"
tools:context=".MainActivity">
<RelativeLayout
android:layout_width="600dp"
android:layout_height="match_parent"
tools:context=".MainActivity">
<include
layout="@layout/toolbar"
android:layout_alignParentTop="true"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
/>
<fragment
android:id="@+id/navHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="androidx.navigation.fragment.NavHostFragment"
app:navGraph="@navigation/main_nav"
/>
</RelativeLayout>
如果我将任何其他片段放入片段确实出现的活动布局中,我认为问题是由特定片段引起的。这个片段很特别,因为其中大约一半由于动画而超出了手机的范围,但这仍然不能解释为什么它在 AndroidStudio 中正确显示。这是片段布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="600dp"
android:layout_gravity="center"
android:layout_height="match_parent"
tools:context=".MainActivity">
<View
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/mainmenu_circle"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="-100dp"
/>
<RelativeLayout
android:id="@+id/rotatingView"
android:layout_width="1000dp"
android:layout_height="500dp"
android:layout_marginBottom="-250dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:background="@drawable/round_view"
android:clickable="true"
>
<Button
android:id="@+id/button1"
android:layout_width="100dp"
android:layout_height="125dp"
android:layout_centerHorizontal="true"
android:background="@drawable/green_rectangle_button"
android:text="10"
android:textColor="@android:color/white"
/>
<Button
android:id="@+id/button2"
android:layout_width="100dp"
android:layout_height="125dp"
android:rotation="45"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginEnd="115dp"
android:layout_marginTop="55dp"
android:background="@drawable/green_rectangle_button"
android:text="20"
android:textColor="@android:color/white"
/>
<Button
android:id="@+id/button3"
android:layout_width="100dp"
android:layout_height="125dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="60dp"
android:rotation="90"
android:background="@drawable/green_rectangle_button"
android:text="30"
android:textColor="@android:color/white"
/>
<Button
android:id="@+id/button4"
android:layout_width="100dp"
android:layout_height="125dp"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_marginBottom="55dp"
android:layout_marginEnd="115dp"
android:rotation="135"
android:background="@drawable/green_rectangle_button"
android:text="40"
android:textColor="@android:color/white"
/>
<Button
android:id="@+id/button5"
android:layout_width="100dp"
android:layout_height="125dp"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="0dp"
android:rotation="180"
android:background="@drawable/green_rectangle_button"
android:text="50"
android:textColor="@android:color/white"
/>
<Button
android:id="@+id/button6"
android:layout_width="100dp"
android:layout_height="125dp"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="55dp"
android:layout_marginStart="118dp"
android:rotation="225"
android:background="@drawable/green_rectangle_button"
android:text="60"
android:textColor="@android:color/white"
/>
<Button
android:id="@+id/button7"
android:layout_width="100dp"
android:layout_height="125dp"
android:layout_alignParentStart="true"
android:background="@drawable/green_rectangle_button"
android:layout_marginStart="60dp"
android:rotation="270"
android:layout_centerVertical="true"
android:text="70"
android:textColor="@android:color/white" />
<Button
android:id="@+id/button8"
android:layout_width="100dp"
android:layout_height="125dp"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_marginStart="115dp"
android:layout_marginTop="55dp"
android:rotation="315"
android:background="@drawable/green_rectangle_button"
android:text="80"
android:textColor="@android:color/white"
/>
</RelativeLayout>
</RelativeLayout>
解决方案
推荐阅读
- ruby-on-rails - 机架攻击节流
- android - 从锁定屏幕启动 Activity 时,Activity 的 onStart() 和 onResume() 方法调用了两次
- amazon-web-services - EC2 上的挂载问题(挂载/:权限被拒绝)
- python - sherlock要求安装问题
- r - 基于大空间多边形数据框列的 Shiny Leaflet Input 滑块中的 Chloropleth 地图着色
- java - 在数组中使用 java Math 类时出错
- java - Spring Data JPA项目,如何限制嵌套对象的数量?@OneToMany
- java - Java If /Else 语句命令字符串
- firebase - 我可以使用 Google Cloud Armor 以编程方式将许多 IP 列入白名单吗?
- javascript - reactjs createRef 在组件数组中不起作用