1. Sentenza, 31.08.2011 #1
    Sentenza

    Sentenza Threadstarter Erfahrener Benutzer

    Hallo,
    Ich suche einen Weg wie man Text in einem Textview an die Größe des Displays anpassen kann. Gibts da irgendwas einfaches? Alles was ich bisher weiß, ist dass ich mit getWidth() die Breite auslesen kann (height natürlich entspr.), auf die Weise könnte ich das natürlich in ner Schleife lösen, aber selbst das funzt nicht richtig:

    Code:
    TextView tv2 = (TextView)findViewById(R.id.textView3);
    int laenge;
    tv2.setText("Test");
    tv2.invalidate();
    laenge = tv2.getWidth();
    liefert mir leider immer die alte Länge, das heißt wenn ich zweimal auf meinen Button klicke, bekomme ich erst beim zweiten mal die korrekte Größe :(
    Ich dachte mit invalidate() könnte ich das lösen, ging aber irgendwie nicht. Sowieso wäre es mir lieber, wenn da noch was einfacheres wäre, weil die Schleife eh nicht so toll wäre...

    Zur Erläuterung hier der ganze Quelltext, ich änder das Textview über ein Options-Menü:
    Code:
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // TODO Auto-generated method stub
            TextView tv1 = (TextView)findViewById(R.id.textView4);
            TextView tv2 = (TextView)findViewById(R.id.textView3);
            int laenge;
            switch (item.getItemId()) {
            case R.id.item1:  // Item1 = Settings
                tv2.setText("Test");
                tv2.invalidate();
                laenge = tv2.getWidth();
                tv1.setText(String.valueOf(laenge));
                break;
    
            default:
                tv2.setText("Viel länger");
                tv2.invalidate();
                laenge = tv2.getWidth();
                tv1.setText(String.valueOf(laenge));
                break;
            }
            tv1.invalidate();
            return super.onOptionsItemSelected(item);
        }
     
  2. swordi, 31.08.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    edit: hab dein problem falsch verstanden

    vergiss den post
     
  3. sixi, 31.08.2011 #3
    sixi

    sixi Erfahrener Benutzer

    Ich bin mir nicht ganz sicher ob ich verstanden hab was du meinst :)
    Hast du es mal mit getMeasuredWidth() versucht?
     

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. android textview größe verändern