如何停止采取所有宽度的布局

时间:2013-07-23 06:23:16

标签: android android-layout

我有这个活动,我需要停止填充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>

要求以红色突出显示 enter image description here

4 个答案:

答案 0 :(得分:1)

您已提及

android:layout_width="1280dp"

你的相对布局

将其设为

android:layout_width="wrap_content"

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

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

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

答案 1 :(得分:1)

将父级布局的宽度更改为wrap_content,如果它没有更改任何内容,请尝试在父级布局的左右两侧添加一些边距作为您的选择

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

or

<RelativeLayout 
...
android:layout_marginLeft="someValue"
android:layout_marginRight="someValue"
...>

答案 2 :(得分:1)

将EditText的宽度更改为wrap_content&amp;您的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" />

答案 3 :(得分:1)

我认为你可以使用

android:layout_centerInParent="true" 
你的相对布局