Я пытаюсь сделать следующий макет карты, который показывает, как изображение и все, что содержится в макете, установлены на фиксированную высоту, имитирующую горизонтальную карту реальной жизни.Android: настройка фиксированной высоты для макета?
То, что я сделал до сих пор:
Следующий XML является один элемент сетки я надуть в к GridView адаптера; который является ОДНОЙ из вышеупомянутых «карточек».
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginLeft="@dimen/feed_item_margin"
android:layout_marginRight="@dimen/feed_item_margin"
android:background="@drawable/bg_card"
android:orientation="vertical"
android:paddingBottom="@dimen/feed_item_padding_top_bottom"
android:paddingTop="@dimen/feed_item_padding_top_bottom" >
<ImageView
android:id="@+id/grid_banner"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:focusable="false"
android:focusableInTouchMode="false"
android:background="@drawable/ic_launcher"/>
<TextView
android:id="@+id/bannerTitle"
android:layout_width="285dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/grid_image"
android:layout_alignLeft="@id/grid_image"
android:layout_alignRight="@id/grid_image"
android:layout_alignTop="@id/grid_image"
android:layout_marginLeft="15sp"
android:layout_marginTop="300sp"
android:shadowColor="#000000"
android:shadowDx="1.0"
android:shadowDy="1.0"
android:shadowRadius="5.0"
android:textColor="#FFFFFF"
android:textSize="25sp" />
</LinearLayout>
</LinearLayout>
Я понимаю, что я могу установить фиксированное значение для корневого LinearLayout, но это повлияло бы при просмотре через различные мобильные устройства? Как и в случае, 50dp может выглядеть маленьким на планшете? Я ошибаюсь?
50dp все еще 50dp на любом устройстве, он выглядит небольшим, потому что экран больше. если вам нужны разные размеры для разных разрешений экрана, вам нужно использовать эти конкретные разрешения «values» и устанавливать определенные значения – tyczj
Почему бы не попробовать использовать layoutWeight? Вы можете это сделать, и даже если вам нужно явно задать высоту элемента, вы можете сделать это как @tyczj и иметь папку значений для обработки различных устройств. – sparkyShorts