Julian Krebs
- Forum-Beiträge: 22
12.02.2013, 09:09:29 via Website
12.02.2013 09:09:29 via Website
Mein Ziel ist es, mithilfe von java die balkenlänge der xml FrameLayouts zu verändern, was leider nicht funktioniert.....
Den beim Ausführen der Datei bleibt nur die Anfangslänge, die verändert sich aber nicht...
Den beim Ausführen der Datei bleibt nur die Anfangslänge, die verändert sich aber nicht...
1package de.strommanagergame.balken;
2
3import android.os.Bundle;
4import android.os.Handler;
5import android.app.Activity;
6import android.util.Log;
7import android.view.Menu;
8import android.view.View;
9import android.view.View.OnClickListener;
10import android.view.ViewGroup.LayoutParams;
11import android.widget.FrameLayout;
12import android.widget.TextView;
13public class GameActivity extends Activity implements OnClickListener, Runnable {
14 private static final int INTERVALL = 1000;
15 int BALKENLANGE = 0;
16 int balken;
17 float balkenl;
18 int leben;
19 int energie;
20 float massstab;
21 int hallo = 0;
22 private Handler handler = new Handler();
23
24 @Override
25 protected void onCreate(Bundle savedInstanceState) {
26 super.onCreate(savedInstanceState);
27 setContentView(R.layout.game);
28
29 massstab = getResources().getDisplayMetrics().density;
30 FrameLayout fl = (FrameLayout) findViewById(R.id.spielbereich);
31 fl.setOnClickListener(this);
32 starteSpiel();
33
34 }
35
36
37 private void starteSpiel() {
38 zeitHerunterzaehlen();
39
40 handler.postDelayed(this, INTERVALL);
41 }
42
43 @Override
44 public boolean onCreateOptionsMenu(Menu menu) {
45 // Inflate the menu; this adds items to the action bar if it is present.
46 getMenuInflater().inflate(R.menu.menue, menu);
47 return true;
48 }
49
50
51 @Override
52 public void onClick(View fl) {
53 // TODO Auto-generated method stub
54 BALKENLANGE = BALKENLANGE - 50;
55
56 }
57 private void zeitHerunterzaehlen() {
58 bildschirmAktualisieren();
59 handler.postDelayed(this, INTERVALL);
60 }
61
62 private void bildschirmAktualisieren() {
63
64 int seite = getResources().getDisplayMetrics().widthPixels;
65 int halbeseite = seite / 2;
66
67 FrameLayout links = (FrameLayout) findViewById(R.id.slinks);
68 LayoutParams link = links.getLayoutParams();
69 link.width =(int) Math.round(halbeseite - (BALKENLANGE + 35)* massstab);;
70 FrameLayout rechts = (FrameLayout) findViewById(R.id.srechts);
71 LayoutParams recht = rechts.getLayoutParams();
72 recht.width = (int) Math.round(halbeseite - (BALKENLANGE + 35)* massstab);;
73 Log.d("bildschirm",Integer.toString(BALKENLANGE));
74 }
75
76
77
78
79
80 public void run() {
81 // TODO Auto-generated method stub
82 zeitHerunterzaehlen();
83 }
84}
2
3import android.os.Bundle;
4import android.os.Handler;
5import android.app.Activity;
6import android.util.Log;
7import android.view.Menu;
8import android.view.View;
9import android.view.View.OnClickListener;
10import android.view.ViewGroup.LayoutParams;
11import android.widget.FrameLayout;
12import android.widget.TextView;
13public class GameActivity extends Activity implements OnClickListener, Runnable {
14 private static final int INTERVALL = 1000;
15 int BALKENLANGE = 0;
16 int balken;
17 float balkenl;
18 int leben;
19 int energie;
20 float massstab;
21 int hallo = 0;
22 private Handler handler = new Handler();
23
24 @Override
25 protected void onCreate(Bundle savedInstanceState) {
26 super.onCreate(savedInstanceState);
27 setContentView(R.layout.game);
28
29 massstab = getResources().getDisplayMetrics().density;
30 FrameLayout fl = (FrameLayout) findViewById(R.id.spielbereich);
31 fl.setOnClickListener(this);
32 starteSpiel();
33
34 }
35
36
37 private void starteSpiel() {
38 zeitHerunterzaehlen();
39
40 handler.postDelayed(this, INTERVALL);
41 }
42
43 @Override
44 public boolean onCreateOptionsMenu(Menu menu) {
45 // Inflate the menu; this adds items to the action bar if it is present.
46 getMenuInflater().inflate(R.menu.menue, menu);
47 return true;
48 }
49
50
51 @Override
52 public void onClick(View fl) {
53 // TODO Auto-generated method stub
54 BALKENLANGE = BALKENLANGE - 50;
55
56 }
57 private void zeitHerunterzaehlen() {
58 bildschirmAktualisieren();
59 handler.postDelayed(this, INTERVALL);
60 }
61
62 private void bildschirmAktualisieren() {
63
64 int seite = getResources().getDisplayMetrics().widthPixels;
65 int halbeseite = seite / 2;
66
67 FrameLayout links = (FrameLayout) findViewById(R.id.slinks);
68 LayoutParams link = links.getLayoutParams();
69 link.width =(int) Math.round(halbeseite - (BALKENLANGE + 35)* massstab);;
70 FrameLayout rechts = (FrameLayout) findViewById(R.id.srechts);
71 LayoutParams recht = rechts.getLayoutParams();
72 recht.width = (int) Math.round(halbeseite - (BALKENLANGE + 35)* massstab);;
73 Log.d("bildschirm",Integer.toString(BALKENLANGE));
74 }
75
76
77
78
79
80 public void run() {
81 // TODO Auto-generated method stub
82 zeitHerunterzaehlen();
83 }
84}
— geändert am 12.02.2013, 10:03:03
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.