- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这是我的 XML 布局,名称为歌曲列表:
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/viewA"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.6"
android:background="@android:color/holo_purple"
android:orientation="horizontal"/>
<android.support.v4.widget.NestedScrollView
android:id="@+id/bottom_sheet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_bright"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="308dp"
/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:clickable="true"
android:src="@drawable/personlog"
app:layout_anchor="@id/viewA"
app:layout_anchorGravity="bottom|center"/>
</android.support.design.widget.CoordinatorLayout>
这是我的 fragment ,其中包含此布局:
public class SongList extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.songlist,container,false);
textView=(TextView)view.findViewById(R.id.txt);
View bottomSheet = view.findViewById(R.id.bottom_sheet);
BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
bottomSheetBehavior.setPeekHeight(200);
return view;}
}
但是午餐时应用程序给我这个错误:
java.lang.IllegalArgumentException: The view is not a child of CoordinatorLayout
从这一行:
BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
如何解决这个问题?似乎一切正常但出现错误......如果有人可以帮助
最佳答案
An interaction behavior plugin for a child view of CoordinatorLayout to make it work as a bottom sheet.
目前,您的底部工作表 NestedScrollView
是 LinearLayout
的子项。因此,只需完全删除最外层的 LinearLayout
。
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/viewA"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.6"
android:background="@android:color/holo_purple"
android:orientation="horizontal"/>
<android.support.v4.widget.NestedScrollView
android:id="@+id/bottom_sheet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_bright"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="308dp" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:clickable="true"
android:src="@drawable/personlog"
app:layout_anchor="@id/viewA"
app:layout_anchorGravity="bottom|center" />
</android.support.design.widget.CoordinatorLayout>
但是现在您在尝试实现的底部工作表方面遇到了更多问题。首先,您不应该将 wrap_content
与 ScrollView 一起使用。其次,你不应该在 ScrollView 中使用 ListView ,因为它实现了自己的滚动。您可以仅使用 ListView 作为底部工作表来简化这一过程。
关于android - BottomSheetBehavior 不是 CoordinatorLayout 的子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43293471/
我正在使用 Google 设计支持库 25.0.0在我的 Activity 中,我有一个相对布局 app:layout_behavior="android.support.design.widget.
标准的 android BottomSheetBehavior 具有树状态:隐藏、折叠和展开。 我想让用户在折叠和展开之间“离开” Bottom Sheet 。现在,使用默认行为,它将捕捉到最接近的折
BottomSheetBehavior 中大约有六个不同的状态。 .我没有得到任何适当的解释。 就像我不明白 STATE_HIDDEN 之间的区别和 STATE_COLLAPSED ? 同样,STAT
问题是 BottomSheetBehavior 进行了滚动,我无法在 RecyclerView 中垂直滚动我的项目。我想先从 RecyclerView 滚动项目 custom
我在带有 BottomSheetBehavior 的 LinearLayout 中得到了两个 RecyclerView。当您单击第一个 RecyclerView(带有网格)内的项目时,Recycler
我一直在使用 AndroidSlidingUpPanel我的应用程序中的库。对于自 23.1.1 以来的 Android 设计支持库版本,这会破坏我的布局中的某些内容。由于最新版本引入了 Bottom
有人可以解释一下这个异常是什么时候发生的吗? 12-18 11:20:07.225 15944-15944/com.test.dev.debug E/AndroidRuntime: FATAL EXC
我正在使用 Android 支持库中的 Bottom Sheet,如下所示: XML: 我将 subview 添加到 LinearLayout: bottomSheet.addView(action
我之前使用的是 android.support.design.widget.BottomSheetBehavior,现在它在 AndroidX 中不可用,有人建议使用 com.google.andro
我正在使用 Google 最近发布的 AppCompat v23.2 的 BottomSheetBehavior。我的底部表格的高度取决于底部表格内显示的内容(类似于 Google 在他们的 map
我将 BottomSheetBehavior 与原始支持库一起使用: implementation 'com.android.support:design:27.1.1' 当我迁移到使用新的 andr
我在 viewpager 中有 3 个 Fragment 的 页面。在 Fragment 中包含 BottomSheetBehaviour。我设置的默认状态是 STATE_EXPANDED。 在每个页
在我的应用程序中,我有一个 Bottom Sheet 和一个使它折叠/展开的按钮。 如果未设置 peekHeight,则 Bottom Sheet 不可拖动且不会折叠,它始终可见。 代码如下:
我正在尝试使用 Material 中的 BottomSheetBehavior| .问题是它没有得到很好的描述,也没有足够的例子可用。 One Meduim 上的示例,但它只展示了基础知识和非常简单的
这是我的 XML 布局,名称为歌曲列表:
我正在尝试从 Android 支持设计库中实现 BottomSheetBehavior。我像这样初始化 BottomSheetBehavior: private void initBottomShee
我生成 Android Studio's BottomSheetDialogFragment只需稍加修改即可正常工作,但我添加 app:layout_behavior="com.google.andr
我尝试在 BottomSheetDialogFragment 中获取一个 Behavior,因此我会使其不可关闭,但它会抛出此错误: Caused by: java.lang.NullPointerE
我有 Bottom Sheet ,我想改变它的行为,让它像在谷歌地图应用程序的主屏幕上一样工作,在那里你可以把它展开到任何位置并把它留在那里,它不会自动粘在底部或顶部。这是我的 Bottom Shee
设计支持库v. 23.2 引入了 BottomSheetBehavior,它允许协调器的子项充当底部工作表(可从屏幕底部拖动的 View )。 我想做的是,作为底页 View ,以下 View (
我是一名优秀的程序员,十分优秀!