Hey,
Also pro View eine Activity zu haben wäre echt ziemlich aufwendig, da ich ja in dem Menü schon mehr als 4 Views hab. Wenn ich dann auf 8 Views komme brauche ich 8 Activities und das ist nicht gerade vorteilhaft.
Ok hier dann mal mein Code:
Activity 1public class TitleActivity extends Activity {
2
3@Override
4 protected void onCreate(Bundle savedInstanceState) {
5 super.onCreate(savedInstanceState);
6 requestWindowFeature(Window.FEATURE_NO_TITLE);
7 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
8 WindowManager.LayoutParams.FLAG_FULLSCREEN);
9TitleView tView = new TitleView(this); // 1-9 BEDEUTEND
10 tView.setKeepScreenOn(true);
11 setContentView(tView);
12
13 if(TitleView.playButtonPressed){
14 PlayView pView = new PlayView(this);
15 pView.setKeepScreenOn(true);
16 setContentView(pView);
17 }
18 }
19}
TitleView1public class TitleView extends View{
2
3 static boolean playButtonPressed; // ZUM PROBLEM
4 private Bitmap backgroundimg;
5 private Bitmap playButtonUp;
6 private Bitmap playButtonDown;
7
8 public TitleView(Context context) {
9 super(context);
10
11 playButtonUp =
12 BitmapFactory.decodeResource(getResources(), R.drawable.playbutton);
13
14 }
15
16 @Override
17 public void onSizeChanged (int w, int h, int oldw, int oldh){
18 super.onSizeChanged(w, h, oldw, oldh);
19 screenW = w;
20 screenH = h;
21 }
22
23 @Override
24 protected void onDraw(Canvas canvas){
25 Bitmap scaledTBI = Bitmap.createScaledBitmap(titleBackgroundImg, screenW, screenH, false);
26 canvas.drawBitmap(scaledTBI, 0, 0, null);
27 if(playButtonPressed){
28 canvas.drawBitmap(playButtonDown, (screenW/2)-(playButtonUp.getWidth())/2,
29 (screenH/2)-((playButtonUp.getHeight())/2) ,null);
30 } else {
31 canvas.drawBitmap(playButtonUp, (screenW/2)-(playButtonUp.getWidth())/2,
32 (screenH/2)-((playButtonUp.getHeight())/2) ,null);
33 }
34 }
35
36 public boolean onTouchEvent(MotionEvent event){
37 int eventaction = event.getAction();
38 int X = (int)event.getX();
39 int Y = (int)event.getY();
40
41 switch(eventaction){
42
43 case MotionEvent.ACTION_DOWN:
44 if(X > (screenW/2)-((playButtonUp.getWidth())/2) &&
45 X < ((screenW/2)-((playButtonUp.getWidth())/2)
46 + playButtonUp.getWidth()) &&
47 Y > (screenH/2)-(playButtonUp.getHeight()/2) &&
48 Y < ((screenH/2)-(playButtonUp.getHeight()/2))
49+ playButtonUp.getHeight()){
50
51 playButtonPressed = true; //ZUMPROBLEM
52
53 }//...Weiterer verlauf recht unwichtig
Ich habe es auch probiert statt
1a) static boolean playButtonPressed;
1b) boolean[] playButtonPressed= {false}
zu nehmen, da es ja als Array ein Referenzdatentyp ist und somit nur die Adresse zu der Activity kopiert wird. Trotzdem geschieht hier nichts, die Activity wechselt nicht auf playView, da für sie playButton true nicht wahr wird. Habe ich es vllt mit dem Array falsch gemacht?
— geändert am 07.04.2014, 13:12:33
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.