需要做响应式设计这部分活动,但有很多问题。
首先,不能将@+id/bookstore_layoutTop
布局设置为match_parent
值,因为顶级父relativelayout
会将其扩展到活动结束。这个问题需要更多问题来调整标题和地址文本。
这是我的xml结构。
我该怎么办?有些想法?提前谢谢。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RelativeLayout
android:id="@+id/bookstore_bk_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical" >
<ImageView
android:id="@+id/bookstore_tab_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:contentDescription="@string/image"
android:scaleType="fitXY"
android:src="@drawable/bookstore_tab_top" />
<LinearLayout
android:id="@+id/bookstore_layoutTop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:orientation="horizontal" >
<ImageView
android:id="@+id/bookstore_imgLogo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/image"
android:layout_weight="10"
android:scaleType="fitCenter"
android:src="@drawable/ic_launcher" />
<LinearLayout
android:id="@+id/bookstore_layoutTop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="5"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical"
android:paddingLeft="30dp"
android:paddingTop="32dp" >
<TextView
android:id="@+id/bookstore_txtName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="NOMBRE DE LIBRERIA" />
<TextView
android:id="@+id/bookstore_txtAddress"
android:layout_width="match_parent"
android:layout_height="25sp"
android:layout_alignParentRight="true"
android:gravity="center_vertical|right"
android:text="Dirección de librería muuuuuu muuuuuuuuy larga."
android:textSize="10dp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
答案 0 :(得分:1)
这就是我最终的结果(我将背景留下了黑色,因为我没有其他图片来完成装饰):
此图片与320 * 480 @ 160dpi(mdpi)显示相关(为了更好 转移速度)。
无论如何,它从ldpi到hdpi都能很好地扩展(对于更高的分辨率,你会更好 准备更高分辨率的图形)
请注意,图片已缩小为 480 * 128 @ 240 dpi 并放入 的 RES /抽拉-HDPI 强>:
我还准备了“主页图标”和书店标识为240 dpi的图片 相同的文件夹
这是我的xml:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"
>
<RelativeLayout
android:id="@+id/bookstore_bk_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:src="@drawable/bookstore_tab_top"
/>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginLeft="28dp"
android:layout_marginRight="28dp"
>
<ImageView
android:id="@+id/imgLogo"
android:layout_width="58dp"
android:layout_height="58dp"
android:layout_centerVertical="true"
android:src="@drawable/bookstore_logo"
/>
<TextView
android:id="@+id/bookstore_txtName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="NOMBRE DE LIBRERIA"
android:textColor="#f9daac"
android:textSize="14dp"
android:textStyle="bold"
android:shadowColor="#000"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="2"
/>
</RelativeLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/bookstore_bk_top"
android:paddingTop="4dp"
>
<TextView
android:id="@+id/spacer_left"
android:layout_width="0dp"
android:layout_weight="0.8"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/bookstore_txtAddress"
android:layout_width="0dp"
android:layout_weight="1.2"
android:layout_height="wrap_content"
android:padding="8dp"
android:drawableLeft="@drawable/bookstore_home"
android:drawablePadding="8dp"
android:gravity="bottom|left"
android:lines="2"
android:text="C/Arzobispo Morcillo N°27\n50020 Zaragoza"
android:textSize="10dp"
/>
</LinearLayout>
</RelativeLayout>
希望它有所帮助。万一,接受我的回答和upvoting将不胜感激;)