基本上所有 ImageButton 必须做的(InactiveButton)是按下时切换到图像。我不知道从哪里开始,因为我是 Android Studio 的新手。
我试过使用选择器类,但我不知道它应该完成什么。当我使用其他人的代码时,例如 public void buttonOnClick(View v),android studio 说它已被弃用?
XML布局:
<ImageButton
android:id="@+id/InactiveButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/button_default" />
编辑 1:我添加了以下代码,但在第 52 行仍然得到“此处不允许注释” @override,并且无法在第 53 行解析符号 v。
编辑 2:第 50 行的最终错误图像
费兰说的完全正确。
您需要以正确的方式实施它。
首先在 onCreate 方法之前定义图像视图,以便将其视为全局变量,这样做的优点是您可以在同一活动的任何地方使用它。喜欢ImageButton inactiveButton;
其次,通过在 onCreate 方法中使用 FindViewById 找到它的视图。喜欢inactiveButton = convertView.findViewById(R.id.InactiveButton);
接下来,您可以通过两种方式在 inactiveButton 上实现 onClickListener: 1. 您可以使用 inactiveButton.setOnClickListener(this) 为您的活动实现“实现 View.OnClickListener”;这将提示您对您的活动或片段实施“android.view.View.OnClickListener”。实现此方法,这将添加 onClick 方法,在这里您可以编写代码来更改图像按钮中的图像
@Override
public void onClick(View v) {
// add this, this will help you to implement multiple clicklisteners and you can add different methods in each click listener
switch (v.getId())
{
case R.id.InactiveButton:
inactiveButton.setImageResource(R.drawable.otherimage);
break;
default:break;
}
}
inactiveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
inactiveButton.setImageResource(R.drawable.otherimage);
}
});
希望这会帮助你。我知道我已经添加了很多信息,但我认为从长远来看它会对你有所帮助。您可以检查图像以获得更清晰的效果,然后您可以轻松地了解自己的缺陷。
问候 Amanpreet
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句