values-sw360dp中的dimens文件与nexus4& nexus5用户界面

时间:2015-06-29 11:36:48

标签: android xml multiscreen

以纵向模式创建应用程序,我必须根据上边距在图像上对齐Button。我在dimens中使用的values-sw360dp文件在 nexus 5 中看起来很合适,但相同的值未对齐 nexus 4中的Buttons < / strong>作为尺寸文件使用values-sw360dp文件夹的两个设备。

请您为此提出解决方案。任何人都可以提供应该集成以支持多个屏幕的所有可能值文件夹的列表

以下是代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/windowBackground">


    <ImageView
        android:id="@+id/bc_logo"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitStart"
        android:src="@drawable/bc_imgbc_logo" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/bc_logo"
        android:orientation="horizontal"
        android:weightSum="1"
        android:layout_alignParentTop="true"
        android:layout_marginTop="@dimen/bc_img_margin_top">

        <Button
            android:id="@+id/login_btn"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.5"
            android:background="@drawable/signing_tab_btn"
            android:text="SIGN IN"
            android:textColor="@color/colorAccent" />

        <Button

            android:id="@+id/registration_btn"
            style="?android:attr/buttonBarButtonStyle"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.5"
            android:text="REGISTER"
            android:textColor="#FFFFFF" />


    </LinearLayout>
</RelativeLayout

在上面的代码中,我需要将LinearLayoutImageView对齐,然后使用android:layout_marginTop="@dimen/bc_img_margin_top"设置保证金。

我有<ImageView/>中的图像,我必须将高度和宽度作为匹配父级,以保持宽高比并占据屏幕宽度,这样会导致图像显示在我想要的屏幕顶部区域但是<ImageView/>占据了整个屏幕的区域,我想对齐图像底部的<LinearLayout/>按钮。

以下图像中,图像最底部的图像底部需要对齐带有黄色下划线的登录按钮和白色文本中的注册按钮。蓝色区域描绘了占据整个设备高度的区域。

enter image description here

2 个答案:

答案 0 :(得分:0)

you need to add some values by yourself like backgrounds and dimensions...


<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00FF00">


    <ImageView
        android:id="@+id/bc_logo"
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:scaleType="fitXY"
        android:src="@drawable/background" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="200dp"
        android:orientation="horizontal"
        android:layout_gravity="top"
        android:weightSum="1"

        >

        <Button
            android:id="@+id/login_btn"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.5"

            android:text="SIGN IN"
            android:textColor="#00FFFF" />

        <Button

            android:id="@+id/registration_btn"

            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.5"
            android:text="REGISTER"
            android:textColor="#00FFFF" />


</LinearLayout>
</FrameLayout>

答案 1 :(得分:-1)

enter image description here

为不同的尺寸创建这种价值结构