我是Android(和Java)的新手,并且布局有困难。
当我点击FAB时,应该创建一个按钮。据我所知,当我想以编程方式添加按钮时,我必须使用LinearLayout。这通常有效,但是当我尝试将LinearLayout与FAB和appbar结合使用时,新显示的按钮未显示或FAB或appbar。
其中一个布局总是隐藏其他一些元素。看起来应该是这样的:
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>
答案 0 :(得分:0)
在xml中创建按钮并将可见性设置为已消失。 Fab点击触发dialogfragment,输入你可以包含EditText。
EditText editText = (EditText) getDialog().findViewById(R.id.project_name);
if (editText != null) {
Log.e("Value", editText.getText().toString());
button.setText(editText.getText().toString());
button.setVisibility(View.VISIBLE);
} else {
Log.e("", "EditText not found!");
}
如何从DialogFragment中的EditText获取文本?
答案 1 :(得分:0)
阅读文档后(是的,我应该在发布问题之前完成),我找到了一种方法:
以root身份使用RelativeLayout,然后对于appbar和按钮使用LinearLayout作为子项(我还添加了一个ScrollView和另一个LinearLayout)。 FAB应位于根(RelativeLayout)内,并具有以下属性:
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"