【问题标题】:Android Studio!! Buttons for different screen sizes安卓工作室!!不同屏幕尺寸的按钮
【发布时间】:2015-03-25 23:09:54
【问题描述】:

我应该进行哪些更改才能使我的按钮能够在任何屏幕尺寸上自动调整? XML 布局是这样的:

<LinearLayout 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:background="@drawable/white_background"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".MyActivity">


<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Contact us: 2310251888 or at info@dei.edu.gr"
    android:id="@+id/textContact"
    android:textColor="#ff1e296b"
    android:textSize="15dp"
    android:gravity="center" />c

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Guest Login"
    android:id="@+id/guestlogin"
    android:onClick="buttonOnClick"
    android:textColor="#ffffffff"
    android:shape="rectangle"
    android:radius="3dp"
    android:layout_marginTop="94dp"
    android:layout_below="@+id/userlogin"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="#ff1e296b"
    />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="or"
    android:gravity="center_horizontal"
    android:textColor="#eeeeee" />

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Sign In"
    android:id="@+id/buttonSignIN"
    android:textColor="#ffffffff"
    android:layout_alignLeft="@+id/guestlogin"
    android:layout_alignStart="@+id/guestlogin"
    android:layout_alignParentTop="true"
    android:layout_alignRight="@+id/guestlogin"
    android:layout_alignEnd="@+id/guestlogin"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="#ff1e296b"
    android:onClick="signIn" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="or"
    android:gravity="center_horizontal"
    android:textColor="#eeeeee" />

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Sign Up"
    android:id="@+id/buttonSignUP"
    android:textColor="#ffffffff"
    android:layout_alignLeft="@+id/guestlogin"
    android:layout_alignStart="@+id/guestlogin"
    android:layout_alignParentTop="true"
    android:layout_alignRight="@+id/guestlogin"
    android:layout_alignEnd="@+id/guestlogin"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="#ff1e296b" />

在模拟器的nexus 4中,一切看起来都很好,但是当我在屏幕尺寸较小的手机中运行应用程序时,按钮会覆盖图像背景的一部分

【问题讨论】:

    标签: android button screen


    【解决方案1】:

    我应该改变什么,以便我的按钮可以在任何屏幕上自动调整 尺寸?

    您无需更改任何内容,因为dp 是一个独立于屏幕的值。请参阅docs

    然而,以下

    android:layout_marginTop="94dp"
    android:layout_below="@+id/userlogin"
    

    没有必要,因为您将View居中。

    【讨论】:

    • 是的,但我的应用程序中有特定的图像背景!!每当我使用nexus 4的模拟器时,一切都显示得很好!但是,当我使用 nexus S 的模拟器时,按钮会覆盖部分背景,因为屏幕尺寸较小
    • @michalis 请提供一些屏幕截图以及您的完整布局 XML
    • 我没有10声望提供截图~~我已经编辑了帖子并提供了完整的xml布局
    • 如果您使用图像背景,您需要创建特定的分辨率。你可以在这里阅读更多内容:developer.android.com/guide/practices/screens_support.html 这意味着对于一张图片,你有 4 个不同尺寸的版本。
    • @michalis 相关属性,如 android:layout_below,在 LinearLayout 中不起作用,您必须改用 RelativeLayout
    猜你喜欢
    • 2011-09-08
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    相关资源
    最近更新 更多