Ara*_*cem 4 android android-toolbar
我很有兴趣设置和配置工具栏徽标的不同属性,如设置Onclick监听器或使用Picasso下载并使用"fit"picasso方法设置圆形图像.
为此,我需要工具栏的ID(注意,徽标,而不是android.R.id.home的导航图标)来查找视图,因为收费栏没有任何方法来获取ImageView.
看起来这个Toolbar类View动态地创建它的孩子,所以我相信我们必须自己搜索徽标View.在您设置徽标之后,但在添加任何其他徽标之前(如果确实如此),徽标是唯一的ImageView孩子Toolbar,我们可以这样做:
private ImageView getLogoView(Toolbar toolbar) {
for (int i = 0; i < toolbar.getChildCount(); i++)
if(toolbar.getChildAt(i) instanceof ImageView)
return (ImageView) toolbar.getChildAt(i);
return null;
}
Run Code Online (Sandbox Code Playgroud)
另一种可能性是在Toolbar课堂上使用反思.在设置徽标后,可以随时使用此方法.
private ImageView getLogoView(Toolbar toolbar) {
try {
Class<?> toolbarClass = Toolbar.class;
Field logoViewField = toolbarClass.getDeclaredField("mLogoView");
logoViewField.setAccessible(true);
ImageView logoView = (ImageView) logoViewField.get(toolbar);
return logoView;
}
catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
889 次 |
| 最近记录: |