Używam Eclipse Indigo, testuję na 2 emulatorach (2.2 i 3.0).
poniższy kod pokazuje, co teraz testuję, jednak ustawienie rozmiaru tekstu nie ujawnia niczego na ekranie podczas próby uruchomienia emulatora (jeśli zakomentuję rozmiar tekstu, tekst pojawi się na czerwono). Pomyślałem, że w jakiś sposób eclipse nie odbudowuje kodu, ale dodałem wiersz kodu, aby dodać niebieskie tło i to zadziałało. Próbowałem ustawić rozmiar tekstu po ustawieniu tekstu, ale nadal bezskutecznie. kod jest poniżej. dzięki za pomoc! (zastrzeżenie) - staram się trzymać z dala od XML. Ponieważ znam już Javę, nie chcę na tym polegać.
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TextView;
public class TestAndroidvs2Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView text = new TextView(this);
text.setTextColor(Color.RED);
text.setTextSize(2);
text.setBackgroundColor(Color.BLUE);
text.setText("Hello Android");
setContentView(text);
}
}
metoda
TextView.setTextSize(int unit , float size);
przyjmuje dwa parametry.Spróbuj tego :
odnieść to i to .
UPDATE: Teraz
setTextSize(float size)
będzie ustawić rozmiar tekstu automatycznie w „scaled pixel
jednostkach”. nie ma potrzeby, aby ręcznie wymieniać COMPLEX_UNIT_SP. Zapoznaj się z dokumentacją .źródło
float myTextSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 18F, context.getResources().getDisplayMetrics());
To rozwiązało problem. Mam jednolity rozmiar czcionki na wszystkich urządzeniach.
źródło
Obecnie
setTextSize(float size)
metoda będzie działać dobrze, więc nie musimy używać innej metody zmiany rozmiaru tekstuKod źródłowy android.widget.TextView.java
Przykład użycia
źródło
Zobacz ten link, aby uzyskać więcej informacji na temat ustawiania rozmiaru tekstu w kodzie. Zasadniczo mówi:
źródło
W moim przypadku zastosowałem tę metodę :
Tutaj ustawia TextSize TextView programowo :
Ciesz się :)
źródło