У меня есть экран в моем приложении с большим изображением в верхней части (заполнение ширины экрана) и некоторый текст и кнопки под ним в относительной компоновке.Установите максимальную высоту изображения в пропорции к размеру экрана
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".WelcomeScreenActivity"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:id="@+id/imgFirstScreenImage"
android:layout_centerHorizontal="true"
android:src="@drawable/first_screen_image"/>
<TextView
android:layout_width="200dp"
android:layout_height="wrap_content"
android:text="@string/first_screen_text"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/firstScreenText"
android:layout_below="@+id/imgFirstScreenImage"
android:layout_centerHorizontal="true"
android:gravity="center" />
Это работает отлично на новых телефонах, как Nexus 5 и 5е, а на Nexus 4 текста частично от нижней части экрана.
Я хочу, чтобы изображение можно было обрезать так, чтобы оно заполняло максимум 50% высоты экрана, чтобы другие элементы всегда отображались на экране, но только если размер экрана равен ниже определенного размера, поэтому то, что я ищу, - это своего рода резерв.
Я использую разные разрешения изображения в папках с выделенными папками, но в этом случае, похоже, этого недостаточно. Похоже, что Nexus 4 использует версию xhdpi. Я очень новичок в андроиде, поэтому я легко ошибаюсь или полностью смотрю в неправильном направлении.
Я бы изучил использование LinearLayout с весами, что позволило бы установить вес каждого в 1/2 и 1/2 –
Спасибо, я пробовал это, но я не хочу ограничьте размер изображения на более высоком экране до 50%, как раз на меньших экранах, где изображение подталкивает другие элементы снизу. Я редактировал вопрос, чтобы включить это. – Carasel
Просто получите высоту экрана на пикселях и соответствующим образом настройте размер своего изображения, подумайте об этом: http://stackoverflow.com/questions/29956014/why-should-we-use-xml-layouts – Nanoc