协调器布局TextInput在FloatingActionButton下面

时间:2016-05-09 16:38:23

标签: android xml android-layout android-coordinatorlayout

Halloo伙计们我在协调器布局方面遇到问题。 我有TextInputLayout,在里面我有editText。我想要的是点击左边的FAB显示它并隐藏点击FAB。

但我总是在FAB下方编辑文字时遇到问题: But I have always problem with edit text going below FAB

我只能以某种方式使用marginRight,请参阅下面的xml。但是没有任何方法可以做到这一点我认为必须有更好的方法。

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="@dimen/fab_normal_size"
    android:layout_height="@dimen/fab_normal_size"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    app:fabSize="normal"
    android:src="@drawable/ic_add_black_24dp" />


<android.support.design.widget.TextInputLayout
    android:id="@+id/input_layout_txt"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_anchor="@id/fab"
    app:layout_anchorGravity="left|center_vertical"
    android:layout_marginRight="@dimen/fab_normal_size">

    <EditText
        android:id="@+id/input_txt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="banany"
        android:text="testestes....." />

2 个答案:

答案 0 :(得分:1)

FAB始终超过用户界面by design

  

浮动操作按钮用于特殊类型的促销   行动。它们的特点是在UI上方上方浮动的带圆圈的图标   并且具有与变形,发射和相关的特殊运动行为   传递锚点。

我还没有检查它是如何实现的,所以除非有其他人得到更好的答案,你可以查看CoordinatorLayout和FAB来源,了解是什么让它在UI上徘徊,或者如果时间很短,你只需要点什么看起来像FAB (要么使用带有正确可绘制的常规按钮,要么使用第三方库)。

答案 1 :(得分:-1)

<android.support.design.widget.TextInputLayout
        android:id="@+id/input_layout_txt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_anchor="@id/fab"
        app:layout_anchorGravity="left|center_vertical">

    <EditText
        android:id="@+id/input_txt"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="10dp"
        android:layout_marginLeft="10dp"
        android:hint="banany"
        android:text="testestes....." />

    </android.support.design.widget.TextInputLayout>

试试上面的代码,希望它在某种程度上足以达到目的