Dus*_*Dus 18 android android-view snackbar android-snackbar
掌握新的android小吃吧,我试图将它设置为特定的y坐标.它似乎甚至不可能.
我已经尝试过获取快餐栏视图的父级,但是,没有什么可以做父母设置它的位置.
mSnackBar.getView().getParent();
Run Code Online (Sandbox Code Playgroud)
在挖掘实际的类时,有一个mView的实例,而mParent是私有的,无论如何都无法访问.
https://developer.android.com/reference/android/support/design/widget/Snackbar.html
Bre*_*ntM 55
通过android.support.design.widget.CoordinatorLayout
在现有活动布局中定位,可以设置显示Snackbar的位置.
例如,假设您现有的布局是RelativeLayout
可以添加CoordinatorLayout
如下:
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:id="@+id/myCoordinatorLayout"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
然后,确保将the CoordinatorLayout
作为Snackbar.make()
命令的第一个参数传递.
final View viewPos = findViewById(R.id.myCoordinatorLayout);
Snackbar.make(viewPos, R.string.snackbar_text, Snackbar.LENGTH_LONG)
.setAction(R.string.snackbar_action_undo, showListener)
.show();
Run Code Online (Sandbox Code Playgroud)
这将导致在小吃吧被显示在底部的的CoordinatorLayout
提供到该制作()函数.
如果您传递的View
不是CoordinatorLayout
Snackbar,它将向上走到树上,直到它找到CoordinatorLayout
布局的根或其根.
为 Snackbar 明确定义布局可能并不总是可行的。
问题似乎一直针对父级,而不是 Snackbar。
Snackbar snackbar = Snackbar.make(layout, message, duration);
View snackbarLayout = snackbar.getView();
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
// Layout must match parent layout type
lp.setMargins(50, 0, 0, 0);
// Margins relative to the parent view.
// This would be 50 from the top left.
snackbarLayout.setLayoutParams(lp);
snackbar.show();
Run Code Online (Sandbox Code Playgroud)
小智 6
我有一个有趣的想法给你。
您只需使用下面的代码即可到达您想要的位置。
Snackbar.make(View,Message , Snackbar.LENGTH_LONG)
.setAnchorView(pb)
.show();
Run Code Online (Sandbox Code Playgroud)
这里setAnchorView
是用来改变位置的。您可以在 xml 文件中创建布局。只需在 中调用您的布局setAnchorView
,它就会显示在 xml 布局的位置上。
归档时间: |
|
查看次数: |
19597 次 |
最近记录: |