如果我想要一个ViewPager
包含多个Fragments
,并且FloatingActionButton
由Fragments
中的一个FAB
使用,那么理想的布局行为是什么?< / p>
一个。 Activity
是否应位于CoordinatorLayout
布局中,该布局还包含AppBarLayout
/ Toolbar
/ ViewPager
的<{1}}?
或
B中。 FAB
是否应位于Fragment
布局?
选项A有意义,FAB
应该能够在CoordinatorLayout
内根据需要设置动画。例如,如果我显示Snackbar
,我希望FAB
向上/向下移动显示/隐藏Snackbar
。但是,在此处放置FAB
要求我隐藏/显示FAB
,因为其他两个Fragments
将不会使用FAB
并且应该隐藏它。
选项B基本上与这些优点/缺点相反。
更正确的是什么?
谢谢, 扎克
答案 0 :(得分:1)
一个。 FAB 应该位于
CoordinatorLayout
布局中吗? 包含持有AppBarLayout/Toolbar/ViewPager
的{{1}}<CoordinatorLayout> <AppbarLayout/> <scrollableView/> <FloatingActionButton/> </CoordinatorLayout>
?
是的,确实。
请看这个例子:
FloatingActionButton
正如您所看到的,在上面的示例中,我们在CoordinatorLayout
中使用了FloatingActionButton
,Fragment
可以始终在布局上进行布局,而无需滚动{甚至隐藏Fragment
{1}}或任何观点。
最后,您可以将此用于<android.support.design.widget.CoordinatorLayout
android:id="@+id/coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/dashboard_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.Toolbar"
app:layout_scrollFlags="scroll|enterAlways"/>
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/dashboard_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>
:
FrameLayout
另外,我要提一下,app:layout_behavior="@string/appbar_scrolling_view_behavior"
添加了AppbarLayout
可以在Fragment
。
这就是那条线的重点。
B中。 FAB应该位于
CoordinatorLayout
布局吗?
这取决于你,但使用它<meta charset="UTF-8">
<title>SwitchButton</title>
<link rel="stylesheet" href="style/style_edit.css" type="text/css">
<link rel="stylesheet" href="js/jquery-ui-1.11.4.custom/jquery-ui.css">
<link rel="stylesheet" href="js/jquery-ui-1.11.4.custom/external/jqwidgets/styles/jqx.base.css" type="text/css"/>
<link rel="stylesheet" href="js/jquery-ui-1.11.4.custom/external/jqwidgets/styles/jqx.classic.css" type="text/css"/>
<script type="text/javascript" src="js/jquery-ui-1.11.4.custom/external/jquery/jquery-2.1.4.min.js"></script>
<script src="js/jquery-ui-1.11.4.custom/jquery-ui.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.11.4.custom/external/jqwidgets/jqxcore.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.11.4.custom/external/jqwidgets/jqxswitchbutton.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.11.4.custom/external/jqwidgets/jqxcheckbox.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#jqxSwitchButton').jqxSwitchButton({checked: true});
// Get the value.
var value = $("#jqxSwitchButton").jqxSwitchButton('val',true);
var value2 = $("#jqxSwitchButton").val();
console.log(value);
console.log(value2);
// Set value.
$("#jqxSwitchButton").jqxSwitchButton('val', true);
// Set value using jQuery's val().
$("#jqxSwitchButton").val(true);
});
</script>
是最好的方法。我的意思是,你可以用它来实现很多 MaterialDesign 的东西。