diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTButton.java b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTButton.java index ba01933..5482b4f 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTButton.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTButton.java @@ -1,38 +1,34 @@ package org.ntlab.radishforandroidstudio.framework.RWT; -import android.view.InputEvent; +import android.content.Context; +import android.support.v7.widget.AppCompatButton; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; +import android.widget.LinearLayout; -import org.ntlab.radishforandroidstudio.framework.listener.TouchListener; +public class RWTButton extends AppCompatButton implements View.OnTouchListener { + public RWTButton(Context context) { + super(context); + init(); + } -public class RWTButton implements TouchListener { - private RWTSprite[] sprite = new RWTSprite[2]; + public RWTButton(Context context, AttributeSet attrs) { + super(context, attrs); + init(); + } - public RWTButton(final RWTLayer layer) { - sprite = new RWTSprite[2]; - sprite[0] = new RWTSprite(); - sprite[1] = new RWTSprite(); + public RWTButton(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } - layer.addDrawable(sprite[0]); - layer.addDrawable(sprite[1]); + public void init() { } @Override - public boolean onEvent(InputEvent event) { - return false; - } - - @Override - public boolean onTouch(InputEvent event) { - return false; - } - - @Override - public boolean onLongPress(InputEvent event) { - return false; - } - - @Override - public boolean onRelease(InputEvent event) { + public boolean onTouch(View v, MotionEvent event) { + System.out.println("touch!!"); return false; } } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTUIFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTUIFragment.java new file mode 100644 index 0000000..447fceb --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTUIFragment.java @@ -0,0 +1,51 @@ +package org.ntlab.radishforandroidstudio.framework.RWT; + +import android.app.Fragment; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; + +import org.ntlab.radishforandroidstudio.R; + +public class RWTUIFragment extends Fragment implements View.OnTouchListener { + public RWTUIFragment() {} + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View v = inflater.inflate(R.layout.ui_fragment, container, false); + v.setOnTouchListener(new View.OnTouchListener() { + public boolean onTouch(View v, MotionEvent event) { + if(event.getAction() == MotionEvent.ACTION_MOVE){ + System.out.println("faaa"); + } + return true; + } + }); + + Button btn = (Button)v.findViewById(R.id.button3); + btn.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + System.out.println("testtest"); + return false; + } + }); + + + return inflater.inflate(R.layout.ui_fragment, null); + } + + @Override + public boolean onTouch(View v, MotionEvent event) { + return true; + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/spriteTest/TestActivity.java b/app/src/main/java/org/ntlab/radishforandroidstudio/spriteTest/TestActivity.java index e041a16..1ffbafa 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/spriteTest/TestActivity.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/spriteTest/TestActivity.java @@ -1,5 +1,8 @@ package org.ntlab.radishforandroidstudio.spriteTest; +import android.app.Fragment; +import android.app.FragmentManager; +import android.app.FragmentTransaction; import android.os.Bundle; import android.util.Log; import android.view.Menu; @@ -13,10 +16,12 @@ import android.widget.TableLayout; import org.ntlab.radishforandroidstudio.R; +import org.ntlab.radishforandroidstudio.framework.RWT.RWTButton; import org.ntlab.radishforandroidstudio.framework.RWT.RWTLayer; import org.ntlab.radishforandroidstudio.framework.RWT.RWTLayers; import org.ntlab.radishforandroidstudio.framework.RWT.RWTSprite; import org.ntlab.radishforandroidstudio.framework.RWT.RWTSurfaceView; +import org.ntlab.radishforandroidstudio.framework.RWT.RWTUIFragment; import org.ntlab.radishforandroidstudio.framework.gameMain.RealTimeActivity; import org.ntlab.radishforandroidstudio.framework.model3D.Object3D; import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; @@ -51,6 +56,7 @@ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); // 3Dモデルの作成 Universe universe = new Universe(); @@ -107,9 +113,18 @@ camera.addTarget(diceObj); // 画面との関連付け + LinearLayout l = findViewById(R.id.game_layout); view = new RWTSurfaceView(this); view.attachCamera(camera); - setContentView(view); + l.addView(view, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); + + FragmentManager fragmentManager = getFragmentManager(); + FragmentTransaction transaction = fragmentManager.beginTransaction(); + Fragment f = new RWTUIFragment(); + transaction.add(R.id.ui_layout, f); + transaction.commit(); +// View ui = this.getLayoutInflater().inflate(R.layout.ui_fragment, null); +// addContentView(ui, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)); // layer layer[0] = new RWTLayer(); diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 35b4e02..54cf3d2 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,22 +6,30 @@ android:layout_height="match_parent" tools:context=".cactusClient.MainActivity"> - + app:layout_constraintTop_toTopOf="parent"> -