ich habe ein Layout, welches auf fill parent gestellt ist. Das ist dafür gut um herauszufinden wie viel Platz zur Verfügung steht. Danach möchte ich die Breite (jeweils prozentual) anpassen.
Nur leider bekommt man in der onCreate, onResume und in der onPostResume immer 0 als Breite, da die Views ja noch nicht gezeichnet sind.
Meine derzeitige Lösung (zu der ihr mir verholfen habt :-) ):
1Handler h = new Handler();
2 h.postDelayed(new Runnable() {
3
4 @Override
5 public void run() {
6 // TODO Auto-generated method stub
7 final LinearLayout improvementBar = (LinearLayout) findViewById(R.id.improvement_bar);
8 int width = improvementBar.getWidth();
9 width = max*width/intent;
10 improvementBar.setLayoutParams(new RelativeLayout.LayoutParams(width,improvementBar.getHeight()));
11
12 }
13 }, 100);
2 h.postDelayed(new Runnable() {
3
4 @Override
5 public void run() {
6 // TODO Auto-generated method stub
7 final LinearLayout improvementBar = (LinearLayout) findViewById(R.id.improvement_bar);
8 int width = improvementBar.getWidth();
9 width = max*width/intent;
10 improvementBar.setLayoutParams(new RelativeLayout.LayoutParams(width,improvementBar.getHeight()));
11
12 }
13 }, 100);
Funktioniert auch, ist aber nicht sonderlich schön, da es oft nicht passt mit den 100ms. Gibt es denn keine andere Lösung die Breite einer View zu bekommen?
MfG Maximilian
-----
Vergesse nie wieder Geburtstage, oder viel schlimmer, deinen Hochzeitstag
- Birthdays Website
