[英]Issues with positioning Toolbar and FAB in ConstraintLayout
I have been using this code inside Co-ordinatorLayout, with no issues. 我一直在Co-ordinatorLayout中使用这个代码,没有任何问题。 I tried tweaking the code to work inside ConstraintLayout. 我尝试调整代码以在ConstraintLayout中工作。 While displaying Snackbar, the Snackbar is overlapping FAB. 在显示Snackbar时,Snackbar与FAB重叠。 Also, I am unable to auto hide Toolbar. 此外,我无法自动隐藏工具栏。 Can someone guide on how to auto-hide Toolbar and FAB inside ConstraintLayout. 有人可以指导如何在ConstraintLayout中自动隐藏工具栏和FAB。
<android.support.constraint.ConstraintLayout
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:id="@+id/acbl_layout_parent"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.sample.android.ActivitySample">
<!--Toolbar-->
<android.support.design.widget.AppBarLayout
android:id="@+id/acbl_layout_toolbar"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<include layout="@layout/toolbar" />
</android.support.design.widget.AppBarLayout>
<!--Layout-->
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<!--FAB-->
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp_16"
app:fabSize="normal"
app:layout_anchor="parent"
app:layout_anchorGravity="bottom|end"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:srcCompat="@drawable/icon_add" />
</android.support.constraint.ConstraintLayout>
With CoordinatorLayout
you can interact with different child views, like Snackbar
and FAB
can interact to move accordingly. 使用CoordinatorLayout
您可以与不同的子视图进行交互,例如Snackbar
和FAB
可以相互作用进行交互。 You can't achieve that with ConstraintLayout
使用ConstraintLayout
无法实现这一点
Further Details: CoordinatorLayout | 更多细节: CoordinatorLayout | Android Developers Android开发者
And you can wrap your elements into coordinator layout which will solve your problem and will also provide additional functionality to the code. 您可以将元素包装到协调器布局中,这将解决您的问题,并且还将为代码提供其他功能。
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="match_parent"
android:layout_width="match_parent">
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fillViewport="true"
>
<!--android:background="@drawable/libertybro340x240"-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#fff"
>
<!--android:background="@color/transparent_background"-->
<include
layout="@layout/actvity_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="4dp"
android:paddingRight="3dp"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
>
<TextView
style="@style/small_title_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/case_number"
android:singleLine="true"
android:layout_weight="1.3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"/>
<TextView
style="@style/small_title_text"
android:id="@+id/display_casenum_Txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/case_number"
android:text="26/11"
android:singleLine="true"
android:layout_weight="1"
/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@color/colorPrimaryDark"
android:layout_marginTop="5dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/clientVoppo"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
>
<TextView
style="@style/small_title_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/client_name"
android:singleLine="true"
android:layout_weight="1.3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"/>
<TextView
style="@style/small_title_text"
android:id="@+id/display_client_Txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/client_name"
android:text="Kaware Patil"
android:layout_weight="1"
/>
</LinearLayout>
<TextView
style="@style/small_title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="VS"
android:layout_gravity="center_horizontal"
android:singleLine="true"
android:editable="false"
android:textStyle="bold"
android:textColor="@color/colorPrimaryDark"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
>
<TextView
style="@style/small_title_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Opposition"
android:singleLine="true"
android:layout_weight="1.3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"/>
<TextView
style="@style/small_title_text"
android:id="@+id/display_opposition_Txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/opposition_name"
android:text="Mumbai High Court"
android:layout_weight="1"
/>
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@color/colorPrimaryDark"
android:layout_marginTop="5dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
>
<TextView
style="@style/small_title_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/ipc_act"
android:singleLine="true"
android:layout_weight="1.3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"/>
<TextView
style="@style/small_title_text"
android:id="@+id/display_ipc_Txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/ipc_act"
android:text="420"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
>
<TextView
style="@style/small_title_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/advocate_name"
android:singleLine="true"
android:layout_weight="1.3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"/>
<TextView
style="@style/small_title_text"
android:id="@+id/display_advocate_Txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/advocate_name"
android:text="Prasad Gunjal"
android:singleLine="true"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
>
<TextView
style="@style/small_title_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/on_behalf"
android:singleLine="true"
android:layout_weight="1.3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"/>
<TextView
style="@style/small_title_text"
android:id="@+id/display_onBehalf_Txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/on_behalf"
android:text="Complainant"
android:singleLine="true"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
>
<TextView
style="@style/small_title_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/casecourt_name"
android:singleLine="true"
android:layout_weight="1.3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"/>
<TextView
style="@style/small_title_text"
android:id="@+id/display_court_Txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/casecourt_name"
android:text="Bombay high Court"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
>
<TextView
style="@style/small_title_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/case_status"
android:singleLine="true"
android:layout_weight="1.3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"/>
<TextView
style="@style/small_title_text"
android:id="@+id/display_casestat_Txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/case_status"
android:text="On Hold"
android:singleLine="true"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
>
<TextView
style="@style/small_title_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/case_filing_date"
android:singleLine="true"
android:layout_weight="1.3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"/>
<TextView
style="@style/small_title_text"
android:id="@+id/display_casefiling_Txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/case_filing_date"
android:text="26/11/2011"
android:singleLine="true"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
>
<TextView
style="@style/small_title_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/number_of_people"
android:singleLine="true"
android:layout_weight="1.3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"/>
<TextView
style="@style/small_title_text"
android:id="@+id/display_peoplenumer_Txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/number_of_people"
android:text="2"
android:singleLine="true"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
>
<TextView
style="@style/small_title_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Next Hearing"
android:singleLine="true"
android:layout_weight="1.3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"/>
<TextView
style="@style/small_title_text"
android:id="@+id/display_nextdateNtime_Txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/next_hearing_date"
android:text="11/11/11 10:00 AM"
android:singleLine="true"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
>
<TextView
style="@style/small_title_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/next_hearing_details"
android:singleLine="true"
android:layout_weight="1.3"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=":"
/>
<TextView
style="@style/small_title_text"
android:id="@+id/display_nextdetails_Txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/next_hearing_details"
android:text="Jury on bench"
android:layout_weight="1"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab_caseinfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_gravity="end|bottom"
android:layout_marginRight="@dimen/fab_margin"
android:layout_marginBottom="@dimen/fab_margin"
android:padding="5dp"
android:src="@android:drawable/ic_menu_edit" />
</android.support.design.widget.CoordinatorLayout>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.