我正在创建一个类似井字游戏的游戏,其中包含一些圆形的球,当用户点击要部署的房间时,这些球会掉落。我已将这些图像添加到网格布局中,但是当用户点击它们时,我无法运行专用方法。我已将方法分配给imageview的onclick属性,但是未执行Java代码。
编辑:单击网格布局并记录它时,我尝试记录一些信息。因此得出的结论是,网格布局阻止了将点击注册到imageview。
这是我的Java代码:
public void dropIn(View view) {
ImageView counter = (ImageView) view;
counter.setTranslationY(1000f);
counter.setImageResource(R.drawable.yellow);
counter.animate().translationYBy(1000f).setDuration(300);
}
这是图像视图的XML代码:
<ImageView
android:id="@+id/imageView5"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_margin="10dp"
android:layout_marginLeft="50dp"
android:layout_marginTop="20dp"
android:onClick="dropIn"
app:layout_column="1"
app:layout_row="1" />
这是表格的XML代码:
<android.support.v7.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="360dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="185dp"
android:layout_marginEnd="6dp"
android:layout_marginRight="6dp"
android:layout_marginBottom="186dp"
android:background="@drawable/board"
app:columnCount="3"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
app:rowCount="3">
答案 0 :(得分:0)
您可以尝试以编程方式进行操作,而不是通过XML视图分配方法。
首先,您需要创建一个新的ImageView,然后使用findViewById()方法呈现该视图。然后,为onClickListener分配“ dropIn”逻辑:
ImageView counter = findViewById(R.id.imageView5);
counter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
counter.setTranslationY(1000f);
counter.setImageResource(R.drawable.yellow);
counter.animate().translationYBy(1000f).setDuration(300);
}
});