Smi*_*ler 11 android android-appcompat android-layout material-design android-5.0-lollipop
对于早期的L Preview,有一些示例如下所示添加到您的代码中以使用FAB(浮动操作按钮).
但不幸的是,我不能使用相同的代码来实现FAB,因为不再支持setOutline方法,但它似乎已被替代方法'fab.setOutlineProvider(ViewOutlineProvider);'所取代.任何人都可以解释如何使用它?...
这可能是我想念的非常简单,但任何帮助都会非常感激.
// Outline
int size = getResources().getDimensionPixelSize(R.dimen.fab_size);
Outline outline = new Outline();
outline.setOval(0, 0, size, size);
Button fab = (Button) findViewById(R.id.fab);
fab.setOutline(outline);
fab.setClipToOutline(true);
Run Code Online (Sandbox Code Playgroud)
Gab*_*tti 29
只是为了完成@ianhanniballake答案:
Button fab = (Button) findViewById(R.id.fab);
//Outline outline = new Outline();
//outline.setOval(0, 0, size, size);
//fab.setOutline(outline);
ViewOutlineProvider viewOutlineProvider = new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
// Or read size directly from the view's width/height
int size = getResources().getDimensionPixelSize(R.dimen.fab_size);
outline.setOval(0, 0, size, size);
}
};
fab.setOutlineProvider(viewOutlineProvider);
Run Code Online (Sandbox Code Playgroud)
ian*_*ake 11
每个自定义视图阴影和概述训练:
您可以使用Outline类中的方法创建带圆角的椭圆和矩形轮廓.视图的默认大纲提供程序从视图的背景中获取大纲.要防止视图投射阴影,请将其大纲提供程序设置为null.
所以,你ViewOutlineProvider只需要调用setOval(0, 0, size, size)的outline参数getOutline():
public void getOutline (View view, Outline outline) {
// Or read size directly from the view's width/height
int size = getResources().getDimensionPixelSize(R.dimen.fab_size);
outline.setOval(0, 0, size, size);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17687 次 |
| 最近记录: |