【发布时间】:2018-01-31 17:57:20
【问题描述】:
我是 Android(和 Java)的新手,布局有困难。
当我点击 FAB 时,应该会创建一个按钮。据我所知,当我想以编程方式添加按钮时,我必须使用 LinearLayout。这通常是有效的,但是当我尝试将 LinearLayout 与 FAB 和 appbar 结合使用时,要么不显示新创建的按钮,要么不显示 FAB 或 appbar。
其中一个布局总是隐藏一些其他元素。它应该是这样的:
应用栏
LinearLayout - 带有滚动条的按钮
右下角的FAB
我尝试了RelativeLayout、FrameLayout、CoordinatorLayout等,没有运气。
activity_main.xml
<android.support.design.widget.CoordinatorLayout
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="match_parent"
android:layout_height="match_parent"
tools:context="xyz.mypackage.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/main_layout">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
</LinearLayout>
<!--include layout="@layout/content_main" /-->
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:visibility="visible"
app:srcCompat="@android:drawable/ic_input_add" />
</android.support.design.widget.CoordinatorLayout>
【问题讨论】:
-
您想在 fab 点击时以编程方式创建多少个按钮?如果是一个,则在 xml 中创建该按钮并将可见性设置为消失。单击 fab 时使其可见。有意义吗?
-
在 fab 点击时会显示一个对话框片段,您可以在其中输入字符串,点击 OK 时,会创建一个以字符串为名称的按钮。我觉得可以,我试试,谢谢!我也在阅读布局文档,应该有可能。
-
我已经更新了答案
标签: android layout android-linearlayout floating-action-button