Zrobiłbym to trochę inaczej.
Mój pomysł: poznaj wymiary ekranu i użyj instrukcji switch/case, aby dostosować swój tekstRozmiar tekstu.
Na przykład:
switch (area) {
case 7inch:
TextView emptyTextView = (TextView)view.findViewById(android.R.id.empty);
emptyTextView.setTextSize(...);
break;
case 4inch:
TextView emptyTextView = (TextView)view.findViewById(android.R.id.empty);
emptyTextView.setTextSize(...);
break;
default:
values_not_caught_above;
}
można znaleźć wymiary ekranu w następujący sposób:
Jeśli chcesz wymiary wyświetlacza w pikselach można użyć getSize:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
int area = height*width;
Jeśli nie jesteś w Activity
możesz uzyskać domyślny wyświetlacz przez WINDOW_SERVICE:
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Przed getSize
został wprowadzony (w poziomie API 13), można użyć getWidth
i getHeight
metod, które są obecnie nieaktualne:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth(); // deprecated
int height = display.getHeight(); // deprecated
Lubię mój sposób najlepszy, ponieważ jest to bardzo łatwe wystarczy dodać inny przypadek Instrukcja dla dodatkowego urządzenia (może być 10-calowy ekran). Prawie nic w twoim kodzie nie będzie musiało się zmieniać w ten sposób.
mogłeś albo poszukaj tego 'TextView' używając id' android.R.id.empty' lub, znacznie lepiej, zaimplementuj widok 'ListFragment' aby zawrzeć' ListView' oraz pusty widok, wyśrodkowany 'TextView' (z identyfikatorem 'anddroid: id/empty'), do którego można bezpośrednio ustawić wartość dimens (z różnymi wartościami folderów). – Luksprog
Tak, właśnie to zrobię, jeśli nie znajdę żadnego innego rozwiązania. Dzięki –
"Widok pusty" jest faktycznie powiązany z 'ListView' (lub bardziej precyzyjnym:' AdapterView'), a nie 'ListFragment'. W związku z tym możesz wywołać fragment "' getListView() .getEmptyView() '] (http://developer.android.com/reference/android/widget/AdapterView.html#getEmptyView%28%29) w fragmencie, aby uzyskać poradzić sobie z tym. Domyślnie pusty widok to zwykły 'TextView', więc po rzutowaniu można zastosować pożądane dostosowania. –