0

我有这个活动,我需要停止填充 textview 和按钮的所有宽度。目前这些显示在中心但填充所有宽度。如何阻止它并使宽度固定?请看下面的布局。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="1280dp"
    android:layout_height="match_parent"
    android:gravity="center_vertical|center_horizontal"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Login" >

    <TextView
        android:id="@+id/lblUserName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerHorizontal="true"
        android:text="@string/UserName" />

    <EditText
        android:id="@+id/txt4UserName"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/lblUserName"
        android:layout_below="@+id/lblUserName"
        android:ems="10"
        android:inputType="text|textFilter|textNoSuggestions" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/lblPassword"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/lblUserName"
        android:layout_below="@+id/txt4UserName"
        android:layout_marginTop="20dp"
        android:text="@string/Password" />

    <EditText
        android:id="@+id/txt4Password"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/lblPassword"
        android:layout_below="@+id/lblPassword"
        android:ems="10"
        android:inputType="textPassword" />

    <Button
        android:id="@+id/btnForLogin"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="50dip"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/txt4Password"
        android:layout_alignRight="@+id/txt4Password"
        android:layout_below="@+id/txt4Password"
        android:layout_marginTop="30dp"
        android:maxLength="50"
        android:onClick="Verification"
        android:text="@string/Login" />

</RelativeLayout>

需要以红色突出显示 在此处输入图像描述

4

4 回答 4

1

你提到过

android:layout_width="1280dp"

在您的相对布局中

将其设置为

android:layout_width="wrap_content"

并且在两个edittexts中您都将layout_width指定为fill_parent ..我认为这是导致问题的原因

尝试将edittext的宽度设置为您想要的任何内容或简单地设置为wrap_content

然后你的布局就不会占据整个屏幕

于 2013-07-23T06:26:50.453 回答
1

将父布局的宽度更改为wrap_content,如果它没有改变任何内容,然后尝试在父布局的左侧和右侧放置一些边距作为您的选择

<RelativeLayout 
...
android:layout_width="wrap_content"
...>

or

<RelativeLayout 
...
android:layout_marginLeft="someValue"
android:layout_marginRight="someValue"
...>
于 2013-07-23T06:40:52.850 回答
1

将 EditText 的宽度更改为 wrap_content,将 RelativeLayout 的宽度更改为 match_parent。

<RelativeLayout 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:gravity="center_vertical|center_horizontal"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".Login" >

<EditText
        android:id="@+id/txt4UserName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/lblUserName"
        android:layout_below="@+id/lblUserName"
        android:ems="10"
        android:inputType="text|textFilter|textNoSuggestions" >



 <EditText
    android:id="@+id/txt4Password"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/lblPassword"
    android:layout_below="@+id/lblPassword"
    android:ems="10"
    android:inputType="textPassword" />
于 2013-07-23T06:45:32.310 回答
1

我想你可以使用

android:layout_centerInParent="true" 

在您的相对布局中

于 2013-07-23T07:17:09.390 回答