为什么按钮不显示和文本视图?

时间:2015-08-16 05:26:17

标签: android android-layout android-intent android-activity

我是Android开发的新手。我做了一个简单的登录界面演示。我用Xml做了这个,并在横向和纵向模式下检查了我的输出。它在纵向模式下看起来很好,但在横向上我的登录按钮不可见,我无法滚动视图。我在我的xml文件中使用了 dp ,我认为这是由于dp我遇到了这个问题。

以下是我的屏幕截图,显示了显示的内容。enter image description here

这是肖像模式,看起来很好..

enter image description here

当我旋转设备时,它会移动到横向,但它没有显示按钮并且在文本视图下方?我可以添加滚动视图吗?我可以添加%百分比而不是dp 吗?

这是我的代码

<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"
   tools:context=".MainActivity"
    android:background="#223399"
    android:orientation="vertical">

    <TextView
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:textAppearanceLarge"
        android:text="Login here"
        android:gravity="center"
        />


    <EditText
        android:layout_marginTop="80dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Username"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        />
    <EditText
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Password"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        />

    <Button
        android:layout_marginTop="80dp"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Login"
        android:id="@+id/loginClick"
        android:layout_gravity="center"
        />
    <TextView
        android:layout_marginTop="40dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:textAppearanceMedium"
        android:text="New User?"
        android:textColor="#00eeff"
        android:gravity="center"
        android:id="@+id/regiester_id"
        />


</LinearLayout>

java代码

   public static final String MyPREFERENCES = "MyPrefs" ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

如何设置屏幕以使其在纵向和横向模式下看起来都很好?

更新代码

<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"
   tools:context=".MainActivity"
    android:background="#223399"
    android:orientation="vertical">
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="fill_parent">

    <TextView
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:textAppearanceLarge"
        android:text="Login here"
        android:gravity="center"
        />


    <EditText
        android:layout_marginTop="80dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Username"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        />
    <EditText
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Password"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        />

    <Button
        android:layout_marginTop="80dp"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Login"
        android:id="@+id/loginClick"
        android:layout_gravity="center"
        />
    <TextView
        android:layout_marginTop="40dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:textAppearanceMedium"
        android:text="New User?"
        android:textColor="#00eeff"
        android:gravity="center"
        android:id="@+id/regiester_id"
        />
    </ScrollView>


</LinearLayout>

2 个答案:

答案 0 :(得分:1)

我使用layout_weight快速尝试了一下。您可以使用不同的权重对其进行更精细的调整。

<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"
    tools:context=".MainActivity"
    android:background="#223399"
    android:orientation="vertical"
    android:weightSum="5">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:textAppearanceLarge"
        android:text="Login here"
        android:gravity="center"
        android:layout_weight="1"
        />


    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Username"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_weight="1"
        />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Password"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_weight="1"
        />

    <Button

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Login"
        android:id="@+id/loginClick"
        android:layout_gravity="center"
        android:layout_weight="1"
        />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:textAppearanceMedium"
        android:text="New User?"
        android:textColor="#00eeff"
        android:gravity="center"
        android:id="@+id/regiester_id"
        android:layout_weight="1"
        />


</LinearLayout>

答案 1 :(得分:0)

  

当我旋转设备时,它会移动到横向。它没有显示按钮   在文本视图下方?我可以添加滚动视图吗?或者我可以加入%   百分比而不是dp。

我会说使用ScrollView来更好地调整屏幕,它也会在较小的设备屏幕中有用。

您还可以为每种尺寸的屏幕以及landscapeportrait制作不同类型的布局。

有关屏幕布局的类型,请参阅开发人员site

我希望你能从那里获得不同类型屏幕尺寸的信息。