Я создаю приложение для Android, и оно разработано для Galaxy Tab, по спецификации, размер экрана 1024x600, но если я пытаюсь добавить свой компонент в этом размере, левый и нижний обрезаются.
Я добавил следующий код, чтобы увидеть разницу
WindowManager mWMgr = (WindowManager) getApplicationContext()
.getSystemService(Context.WINDOW_SERVICE);
int width = mWMgr.getDefaultDisplay().getWidth();
int height = mWMgr.getDefaultDisplay().getHeight();
Toast.makeText(getApplicationContext(),
"[system][w=" + width + ":h=" + height + "]", Toast.LENGTH_LONG).show();
width = getWindowManager().getDefaultDisplay().getWidth();
height = getWindowManager().getDefaultDisplay().getHeight();
Toast.makeText(getApplicationContext(),
"[this][w=" + width + ":h=" + height + "]", Toast.LENGTH_LONG).show();
При запуске это показывает:
[Система] [ш = 600: ч = 1024]
[Это] [ш = 400: ч = 683]
Почему это происходит?
При необходимости я добавляю свой код для вывода компонентов на экран.
Это мой layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView android:id="@+id/image01" android:layout_width="match_parent"
android:layout_height="match_parent" android:scaleType="fitXY" />
</LinearLayout>
В этом случае изображение, которое я рисую в ImageView, масштабируется до размера экрана (400x683)
Я проверял с:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="600px"
android:layout_height="1024px">
<ImageView android:id="@+id/image01" android:layout_width="match_parent"
android:layout_height="match_parent" android:scaleType="fitXY" />
</LinearLayout>
И, таким образом, левая и нижняя часть изображения обрезаются на экране.