与工具栏,多个屏幕布局等相关

时间:2017-01-17 09:02:57

标签: android android-layout

其实我正在开发Android应用程序,我们只想在设备和平板电脑上运行我们的应用程序(所有屏幕尺寸)..... 所以请澄清我的以下问题

1。问题是我知道,为了支持不同的屏幕,我必须创建一个不同的布局xml,但我认为Android Studio提供了为所需屏幕创建xml的直接快捷方式(检查图像-1 ...一些高亮部分)

enter image description here   2. 我通过此插件安装了一些插件(Batch Drawable导入)我以六种格式缩放了我的图像(检查图像-2),所以我应该保留所有六种格式的图像或某些...因为我只定位设备和平板电脑 enter image description here   3。在我的Activity中,屏幕底部有一些Edittext,当我在Edittext中输入一些内容时,我的工具栏向上移动(在屏幕外)....所以我应该使用scrollView或不是为了避免这种情况?

注意:1 我已尝试过此android:windowSoftInputMode="adjustPan|adjustResize"

编辑:Thrid问题的xml:

<android.support.v7.widget.AppCompatImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/logo"
    android:id="@+id/logo1"
    android:layout_marginTop="55dp"
    android:layout_below="@+id/toolbar1"
    />
<android.support.v7.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="70dp"
    card_view:contentPadding="0dp"
    card_view:cardPreventCornerOverlap="false"
    card_view:cardMaxElevation="3dp"
    card_view:cardUseCompatPadding="true"
    card_view:cardCornerRadius="4dp"
    card_view:cardElevation="4dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    card_view:cardBackgroundColor="@color/textViewBackground"
    android:layout_below="@+id/logo1"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="40dp"
    android:id="@+id/cardView">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="60dp">
        <android.support.v7.widget.AppCompatImageView
            android:layout_height="match_parent"
            android:layout_width="wrap_content"
            android:paddingLeft="8dp"
            android:id="@+id/phone_icon"
            android:paddingBottom="4dp"
            android:src="@drawable/email_icon"/>

        <android.support.v7.widget.AppCompatImageView
            android:layout_height="match_parent"
            android:layout_width="wrap_content"
            android:paddingLeft="35dp"
            android:paddingBottom="4dp"
            android:src="@drawable/symbol"
            android:id="@+id/symbol"/>

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_name"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:layout_marginLeft="45dp"
            android:layout_marginTop="8dp"
            android:layout_toRightOf="@id/symbol"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"

            >

            <EditText
                android:id="@+id/input_name_email"
                android:layout_width="fill_parent"
                android:layout_height="60dp"
                android:textSize="@dimen/textSize"
                android:singleLine="true"
                android:paddingBottom="25dp"
                android:drawableLeft="@drawable/symbol"
                android:background="@android:color/transparent"
                android:windowSoftInputMode="adjustPan|adjustResize"
                android:hint="Email Address"
                android:textColor="#ffffff"
                />
        </android.support.design.widget.TextInputLayout>




    </RelativeLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="70dp"
    card_view:contentPadding="0dp"
    card_view:cardPreventCornerOverlap="false"
    card_view:cardMaxElevation="3dp"
    card_view:cardUseCompatPadding="true"
    card_view:cardCornerRadius="4dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    card_view:cardElevation="4dp"
    card_view:cardBackgroundColor="@color/textViewBackground"
    android:layout_below="@+id/cardView"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="2dp"
    android:id="@+id/cardView1">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="60dp">
        <android.support.v7.widget.AppCompatImageView
            android:layout_height="match_parent"
            android:layout_width="wrap_content"
            android:paddingLeft="8dp"
            android:id="@+id/password_icon"
            android:paddingBottom="4dp"
            android:src="@drawable/password_icon"/>

        <android.support.v7.widget.AppCompatImageView
            android:layout_height="match_parent"
            android:layout_width="wrap_content"
            android:paddingLeft="35dp"
            android:paddingBottom="4dp"
            android:src="@drawable/symbol"
            android:id="@+id/symbol2"/>

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_name2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="45dp"
            android:layout_marginTop="8dp"
            android:layout_toRightOf="@id/symbol2"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"

            >

            <EditText
                android:id="@+id/input_name_password"
                android:layout_width="fill_parent"
                android:layout_height="60dp"
                android:textSize="@dimen/textSize"
                android:singleLine="true"
                android:paddingBottom="25dp"
                android:drawableLeft="@drawable/symbol"
                android:background="@android:color/transparent"
                android:windowSoftInputMode="adjustPan|adjustResize"
                android:hint="Password"
                android:inputType="textPassword"
                android:textColor="#ffffff"
                android:layout_marginEnd="8dp"
                android:layout_marginRight="8dp" />
        </android.support.design.widget.TextInputLayout>




    </RelativeLayout>
</android.support.v7.widget.CardView>

<android.support.v7.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="70dp"
    card_view:contentPadding="0dp"
    card_view:cardPreventCornerOverlap="false"
    card_view:cardMaxElevation="3dp"
    card_view:cardUseCompatPadding="true"
    card_view:cardCornerRadius="4dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    card_view:cardElevation="4dp"
    card_view:cardBackgroundColor="@color/textViewBackground"
    android:layout_below="@+id/cardView1"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="2dp"
    android:id="@+id/cardView2">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="60dp">
        <android.support.v7.widget.AppCompatImageView
            android:layout_height="match_parent"
            android:layout_width="wrap_content"
            android:paddingLeft="8dp"
            android:id="@+id/otp_icon"
            android:paddingBottom="4dp"
            android:src="@drawable/confirm_password_icon"/>

        <android.support.v7.widget.AppCompatImageView
            android:layout_height="match_parent"
            android:layout_width="wrap_content"
            android:paddingLeft="35dp"
            android:paddingBottom="4dp"
            android:src="@drawable/symbol"
            android:id="@+id/symbol3"/>

        <android.support.design.widget.TextInputLayout
            android:id="@+id/input_layout_name3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="45dp"
            android:layout_marginTop="8dp"
            android:layout_toRightOf="@id/symbol3"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"

            >

            <EditText
                android:id="@+id/input_name_confirm_password"
                android:layout_width="fill_parent"
                android:layout_height="60dp"
                android:textSize="@dimen/textSize"
                android:singleLine="true"
                android:paddingBottom="25dp"
                android:drawableLeft="@drawable/symbol"
                android:background="@android:color/transparent"
                android:windowSoftInputMode="adjustPan|adjustResize"
                android:hint="Confirm Password"
                android:inputType="textPassword"
                android:layout_marginEnd="6dp"
                android:textColor="#ffffff"
                android:layout_marginRight="6dp" />

        </android.support.design.widget.TextInputLayout>



    </RelativeLayout>
</android.support.v7.widget.CardView>
<Button

    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/cardView2"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="49dp"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:background="@drawable/signup_button"
    android:id="@+id/signup_button" />

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

问题1的回答:

是的,您必须为每个设备屏幕创建不同的布局。建议的方法是创建以下文件夹:

layout适用于普通移动设备(6&#34;及以下)

layout-sw600dp 7&#34;片剂

layout-sw720dp 8&#34;平板电脑及以上

突出显示的部分只显示不同API级别下不同屏幕上的布局预览。

问题2的回答:

是的,你确实需要所有的图片。图像将根据设备显示进行缩放。平板电脑将使用xxhdpi等。但是,如果可能,您可以使用单个矢量图形。 Android系统将采用扩展本身。

问题3的回答:

请粘贴xml代码和屏幕截图以及问题。