gpt4 book ai didi

android - 工具栏 Logo ID

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:37:21 24 4
gpt4 key购买 nike

我对设置和配置工具栏 Logo 的不同属性很感兴趣,例如设置 Onclick 监听器或使用 Picasso 下载并使用“适合”picasso 的方法设置圆形图像。

为此,我需要工具栏 Logo 的 ID(注意, Logo ,而不是导航图标,即 android.R.id.home)来查找 View ,因为收费栏没有任何获取 ImageView 的方法。

最佳答案

Toolbar 类似乎动态创建了它的子 View,所以我相信我们必须自己搜索 Logo 的 View .在您设置 Logo 之后,但在您添加任何其他 Logo 之前(如果确实如此), Logo 是 Toolbar 的唯一 ImageView 子级,我们可以这样得到:

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;
}

另一种可能性是在 Toolbar 类上使用反射。设置好logo后可以随时使用该方法。

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;
}

关于android - 工具栏 Logo ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27783452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com