android - Android - 如何在网格布局中包含的按钮上添加 ImageView
问题描述
我正在开发一个宾果类型的 android 应用程序并具有按钮的网格布局,我希望能够在单击按钮时在文本上添加一个“X”矢量图像,而不是图像出现在文本上方而不是替换它,任何帮助将不胜感激!
解决方案
您可以将带有“X”矢量的 ImageView 作为其图像堆叠在按钮顶部,并在使用 OnClickListener 单击按钮后更改其可见性。这是一个简单的例子:
布局:
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"/>
<ImageView
android:elevation="10dp"
android:id="@+id/iv_cross"
android:src="@drawable/ic_clear_24px"
android:visibility="invisible"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintTop_toTopOf="@id/btn"
app:layout_constraintBottom_toBottomOf="@id/btn"
app:layout_constraintLeft_toLeftOf="@id/btn"
app:layout_constraintRight_toRightOf="@id/btn"/>
其中“@drawable/ic_clear_24px”是“X”向量。
活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = findViewById(R.id.btn);
final ImageView iv_cross = findViewById(R.id.iv_cross);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
iv_cross.setVisibility(View.VISIBLE);
}
});
}
注意 ImageView 的可见性默认设置为不可见。
推荐阅读
- swift - 如何使用 IBAnimatable 库重复为 ui 视图设置动画
- azure - 无法为 Azure Web 应用程序机器人创建/编辑 Cortana 通道
- javascript - Javascript/ Typescript .bind() 获取绑定函数中的变量
- bash - 通过 bitbucket ssh 管道执行时找不到 docker 命令
- reactjs - Re-rendering only updated elements on react form
- c# - 有没有办法在将 xamarin 应用程序中的问题列表发布到 Web api 之前临时保存用户输入或对问题列表的响应?
- linux - 当某些 git 文件或目录丢失时,如何使 git branch 工作?
- r - Group_by_at 和 Group_by 中的问题
- typo3 - 如何控制输出记录的顺序
- django - CreateView 表单未在模板标记中“呈现”