我实际上是为了好玩而构建相同的东西,以扩展我在 android 开发方面的知识。我正在尝试一种方法,我有一个 Framelayout,有 8 个 LinearLayouts,其中包含 8 个 LinearLayouts,每个都有一个 ImageView。这种方法为我绘制了一切,而且我免费获得了 onclick。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/car_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#66ccff"
tools:context=".Activity_Main" >
<FrameLayout
android:id="@+id/checker_frame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="false" >
<LinearLayout
android:layout_width="315dp"
android:layout_height="300dp"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="horizontal" >
<ImageView
android:id="@+id/square_1_1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#FFFFFF"
android:onClick="squareOnClick" />
<ImageView
android:id="@+id/square_1_2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#000000"
android:onClick="squareOnClick" />
<ImageView
android:id="@+id/square_1_3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#FFFFFF"
android:onClick="squareOnClick" />
<ImageView
android:id="@+id/square_1_4"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#000000"
android:onClick="squareOnClick" />
<ImageView
android:id="@+id/square_1_5"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#FFFFFF"
android:onClick="squareOnClick" />
<ImageView
android:id="@+id/square_1_6"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#000000"
android:onClick="squareOnClick" />
<ImageView
android:id="@+id/square_1_7"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#FFFFFF"
android:onClick="squareOnClick" />
<ImageView
android:id="@+id/square_1_8"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#000000"
android:onClick="squareOnClick" />
</LinearLayout>
--Repeat Linear layouts
您可以看到我在所有 imageview 上都有一个 squareOnClick 调用方法。每次点击都会转到此侦听器。由于它的 ID 名称,我可以识别正方形的 ID,您可以对其做出反应:
public void squareOnClick(View view)
{
String idName = getResources().getResourceEntryName(view.getId());
idName = idName.replace("square_", "");
String[] coordinate = idName.split("_");
if(coordinate.length != 2)
return;
int x = Integer.parseInt(coordinate[0]);
int y = Integer.parseInt(coordinate[1]);
Log.i("Activity_Checker", "Coordinate pressed: " + x + ":" + y);
TextView tv = (TextView) findViewById(R.id.statustextview);
tv.setText("X:" + x + " Y:" + y);
}
但是,如果免费绘制所有内容,我正在玩弄这个想法,但这只是在我无法弄清楚我的其他一些问题的情况下:
- 正确重新定位框架布局
- 正确调整框架布局
- 跨布局的属性动画
这就是我走多远。