作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想在屏幕底部创建一个看起来像这样的控制面板。
这是图片
我想通过将点击的项目涂黑来模拟按钮按下,所有未点击的项目都变灰。如图所示,图片图标已被点击。
目前,我的解决方案是叠加两行相同的 ImageView。一层由所有黑色图标组成,一层由所有灰色图标组成。当我点击一张图片时,我运行的代码如下所示:
private void galleryClicked() {
mGalleryImageView_unclicked.setVisibility(View.INVISIBLE);
mPersonalImageView_unclicked.setVisibility(View.VISIBLE);
mExploreImageView_unclicked.setVisibility(View.VISIBLE);
mMenuImageView_unclicked.setVisibility(View.VISIBLE);
mGalleryImageView_clicked.setVisibility(View.VISIBLE);
mPersonalImageView_clicked.setVisibility(View.INVISIBLE);
mExploreImageView_clicked.setVisibility(View.INVISIBLE);
mMenuImageView_clicked.setVisibility(View.INVISIBLE);
}
我只是想知道是否有更有效或更好的方法来做到这一点。当我在手机上运行它时,会感觉到响应有些滞后。谢谢!
最佳答案
我有更好的解决方案,那就是使用选择器
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/clicked" android:state_enabled="true" />
<item android:drawable="@drawable/unclicked" android:state_enabled="false" />
</selector>
现在您只需设置 mGalleryImageView.setEnabled(true);
或 mGalleryImageView.setEnabled(false)
关于android - 如何通过使 ImageView 变灰来模拟按下的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50938870/
经过很长时间的尝试,我仍然找不到解决问题的正确方法。问题是将这个灰度图像分割成 3 种不同的颜色:边界应该是黑色,边界的内部空间应该是白色,所有其他介质应该是黑色。 我尝试了几种不同的方法,包括直接强
这个问题在这里已经有了答案: What is the difference between "./somescript.sh" and ". ./somescript.sh" (4 个答案) 关闭
我是一名优秀的程序员,十分优秀!