【Android游戏开发之六】在Su易做图ceView中添加组件!!!!并且相互交互数据!!!!
各位童鞋请你们注意:su易做图ceview中确实有onDraw这个方法,但是su易做图ceview不会自己去调用!!!
而我代码中的ondraw 也好draw 也好,都是我自己定义的一个方法。。。放在线程中不断调用的,一定要注意!!
昨天圣诞节,没有出去,而是一天时间全部纠结在如何在Su易做图ceView中添加组件,例如添加常用的Button,TextView等等、一开始也想着从网上找些资料看看有没有可参考的,但是发现搜到的结果仍是些童鞋对此很疑惑并且也在找寻答案,那么,这里就把圣诞节一天的成果来和各位童鞋分享;
1.因为我们的Su易做图ceView是个View对于添加的组件其实也是View,如果我们只是一味的想在Su易做图ceView中添加View组件其实是错误的思想,当然我一开始也是想着直接在Su易做图ceView中定义或者去使用组件,但是结果肯定是不成功的,因为View不能添加View!
2.既然第一条肯定是错误的,那么我们就应该想到把我们的Su易做图ceView和组件都放在一个Layout里面,毕竟我们的的Su易做图ceView也是一个view和其他组件一同放在我们的layout里,那么这样一来肯定就能完成在Su易做图ceView中添加组件的目的啦。下面先上截图
大家看到中间白易做图域就是我们的Su易做图ceView啦,最上方是组件TextView ,最下方是Button 、对的,要的就是这个效果!而不是像前面文章中多个Activity切换,这样都在一个界面中啦。哇哈哈啊。好、下面来看代码吧:
先放上Xml 代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="This is Himi"
android:textSize="32sp"
android:textColor="#00FF00"
android:gravity="center_horizontal"/>
</LinearLayout>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
<com.himi.MySu易做图ceView android:id="@+id/view3d"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</FrameLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Himi Button_1"
android:id="@+id/button1"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Himi Button_2"
android:id="@+id/button2"/>
</LinearLayout>
</LinearLayout>
以上代码很简单,都是一些布局方式和各个组件一些属性及显示方式的设定,当然主要看如何对我们的Su易做图ceView如何注册在xml中的,那么每个组件都有id这样为了对后面其交互数据用到,因为我们要对每个组件操作,所以这里都索引了id方面从R文件中取出其对象。
那么,xml我们定义好了,看看代码中如何实现的,这里先说下Activity类中代码:
package com.himi;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
private Button button1, button2;
private TextView tv ;
@Override
public void onCreate(Bundle savedInstanceState) {
补充:移动开发 , Android ,