Мне нужно получить высоту и ширину моего представления, и я последовал приведенным здесь примерам с подклассом Просмотр и использование onSizeChanged (...). Но что очень странно, что onSizeChanged дает мне правильную ширину, но высота всегда равен 0. Вот мой подкласс:onSizeChanged возвращает ширину, но не высоту
public class MyView extends TextView {
int xMax=0; int yMax=0;Context c;
public MyView(Context context) {
super(context);
this.c=context;
}
@Override
public void onSizeChanged(int w, int h, int oldW, int oldH) {
xMax = w;
yMax = h;
Мой класс активность:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView dummyView = new MyView(this);
LinearLayout ll = (LinearLayout) findViewById(R.id.mainmtc);
ll.addView(dummyView);
и мой XML Layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainmtc" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:weightSum="1"
androiad:orientation="vertical">
будет делать (я новичок в StackOverflow). Но каково решение моей проблемы? Все примеры не упоминаются, что это происходит? – michaelsmith
Сделал это сейчас, но высота по-прежнему равна 0. При повороте устройства меняет ширину, но не высоту. Мне нужно получить размеры экрана устройства. Правильно ли я подхожу? – michaelsmith
Размеры экрана устройства могут быть получены с помощью класса DisplayMetrics – ChristopheCVB