我有一个活动和几个片段.其中一个片段包含具有锚重力底部的FAB.它看起来不错,但是当我开始另一个片段然后按回按钮时,我的FAB出现在左上角.我使用协调器布局,但它没有帮助.这是我的布局:
<?xml version="1.0" enCoding="utf-8"?><androID.support.design.Widget.CoordinatorLayoutxmlns:androID="http://schemas.androID.com/apk/res/androID"xmlns:app="http://schemas.androID.com/apk/res-auto"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:layout_wIDth="match_parent"androID:layout_height="wrap_content"xmlns:app="http://schemas.androID.com/apk/res-auto"androID:orIEntation="vertical"androID:ID="@+ID/fragment_main_page"><ListVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:ID="@+ID/main_page_ListvIEw" androID:layout_margintop="5dp"></ListVIEw><linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="horizontal" androID:layout_margintop="3dp"> <ImageVIEw androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_marginleft="12dp" androID:src="@drawable/info_main_page" androID:layout_gravity="center_vertical"/> <button androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_marginleft="10dp" androID:layout_gravity="center_vertical" androID:ID="@+ID/how_to_use" androID:text="@string/how_to_use" androID:textAllCaps="false" androID:textAppearance="?androID:attr/textAppearanceMedium" androID:textStyle="italic" androID:background="@androID:color/transparent"/></linearLayout></linearLayout><androID.support.design.Widget.floatingActionbutton androID:ID="@+ID/floating_promos" androID:layout_wIDth="42dp" androID:layout_height="42dp" androID:layout_margin="16dp" androID:clickable="true" androID:src="@drawable/floating_promos" app:layout_anchor="@ID/fragment_main_page" app:layout_anchorGravity="bottom|right|end" app:backgroundTint="#fb9f12" app:fabSize="mini"/> </androID.support.design.Widget.CoordinatorLayout>
解决方法:
我做了一个小调整以使其工作,因为我需要我只是添加了监听器来检查回收器视图是否更新并在其中更改了FAB.
希望这会帮助你.
ListWorkData.addOnLayoutchangelistener(new VIEw.OnLayoutchangelistener() { @OverrIDe public voID onLayoutChange(VIEw v, int left, int top, int right, int bottom, int oldleft, int oldtop, int oldRight, int oldBottom) { ListWorkData.removeOnLayoutchangelistener(this); CoordinatorLayout.LayoutParams lp = (CoordinatorLayout.LayoutParams) btnsubmitConfirm.getLayoutParams(); lp.anchorGravity = Gravity.BottOM | GravityCompat.END; btnsubmitConfirm.setLayoutParams(lp); }});ListWorkData.getAdapter().notifyDataSetChanged();
总结 以上是内存溢出为你收集整理的android – 浮动动作按钮意外锚定重力变化全部内容,希望文章能够帮你解决android – 浮动动作按钮意外锚定重力变化所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)