-2

任何人都可以解释我,我可以如何放置textviewedittextbutton在活动的中心?

必须是这样:

  1. Textview在下面的中心。
  2. EditText和附近button(这两个元素在中心一起)。

我有我想要的,但是当我尝试填充时edittext,我有软键盘并且我的 Activity 标题跳到顶部并且用户看不到它。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="@dimen/activity_horizontal_margin"
                android:paddingRight="@dimen/activity_horizontal_margin"
                android:paddingTop="@dimen/activity_vertical_margin"
                android:paddingBottom="@dimen/activity_vertical_margin"
                tools:context=".AddList">


    <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:id="@+id/input"
            android:gravity="center|center_vertical"
            android:layout_alignParentTop="false"
            android:layout_centerVertical="true">

        <EditText
                android:id="@+id/editText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ems="10"
                android:singleLine="true">

            <requestFocus />
        </EditText>

        <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0"
                android:text="Add" />
    </LinearLayout>

    <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@+id/linearLayout"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="false"
            android:layout_alignParentRight="true"
            android:layout_alignParentBottom="false"
            android:layout_alignWithParentIfMissing="false"
            android:baselineAligned="false"
            android:gravity="center|center_vertical"
            android:paddingBottom="70dp"
            android:layout_centerInParent="true">

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="SkleroShop List Name"
                android:id="@+id/textView2"
                android:focusable="false"
                />
    </LinearLayout>


</RelativeLayout>

/现在/

<?xml version="1.0" encoding="utf-8"?>
<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="fill_parent"
              android:orientation="vertical"
              tools:context=".AddList" >

    <LinearLayout
            android:id="@+id/input1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center|center_vertical" >

        <TextView
                android:id="@+id/txt"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:gravity="center"
                android:singleLine="true"
                android:text="Hello" >
        </TextView>
    </LinearLayout>

    <LinearLayout
            android:id="@+id/input"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:orientation="horizontal"
            android:gravity="center_vertical">

        <EditText
                android:id="@+id/editText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ems="10"
                android:singleLine="true" >

            <requestFocus />
        </EditText>

        <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="0"
                android:text="Add" />
    </LinearLayout>

</LinearLayout>

普通屏幕http://i41.tinypic.com/13yjyut.png 软键盘http://i43.tinypic.com/20j1nko.png

4

1 回答 1

1

如果您使用的是 LinearLayout,您可以指定重力属性以使子视图居中。

android:layout_gravity="center_horizontal"

如果您使用相对布局作为父布局,您可以使用属性来居中子视图。

android:layout_centerHorizontal="true"

看到这个寻求帮助

Android软键盘调整大小布局

和这个 Android 开发者参考

http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

将此属性添加到您的活动中

 android:windowSoftInputMode="stateVisible|adjustResize" 

并将布局更改为:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/RelativeLayout1"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:gravity="center_vertical"
     android:orientation="vertical"
     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=".MainActivity" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:gravity="center|center_vertical"
    android:text="Medium Text"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button1"
    android:layout_alignBottom="@+id/button1"
    android:layout_toLeftOf="@+id/button1"
    android:ems="10" />

<Button
    android:id="@+id/button1"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/textView1"
    android:layout_below="@+id/textView1"
    android:onClick="sum"
    android:text="Sum" />

 </RelativeLayout>
于 2013-08-26T14:11:32.710 回答