移动特定的子布局

时间:2016-08-26 07:19:21

标签: android android-layout

我有这个布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
android:background="@color/black_30">


<android.support.v7.widget.Toolbar
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:id="@+id/toolbarAnnouncement"
    android:theme="@style/ToolBarStyle"
    android:elevation="5dp"
    android:textAlignment="center">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:layout_gravity="center"
        android:id="@+id/toolbar_title"
        android:textSize="20sp"
        android:textStyle="bold"
        android:background="#00000000"
        android:textColor="#ffffff" />


</android.support.v7.widget.Toolbar>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="15"
    android:id="@+id/channelContainer"
    android:orientation="horizontal"
    android:layout_below="@+id/toolbarAnnouncement"
    android:background="@color/black_30">


    <TextView
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="To :"
        android:id="@+id/textView16"
        android:textSize="20sp"
        android:paddingLeft="5dp"
        android:layout_gravity="center_vertical" />


<RelativeLayout
    android:layout_width="0dp"
    android:layout_weight="11"
    android:id="@+id/chipViewLayout"
    android:layout_height="wrap_content"
    android:paddingBottom="10dp"
    android:paddingTop="10dp">

    <com.plumillonforge.android.chipview.ChipView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/buttonChannelSelectorAnnouncement"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        android:gravity="left"
        android:padding="5dp"
        android:minHeight="90dp" />


</RelativeLayout>


    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="wrap_content"
        android:id="@+id/buttonRemoveChannel"
        android:background="@android:drawable/ic_menu_close_clear_cancel"
        android:visibility="gone"
        android:layout_gravity="center_vertical"
        android:layout_marginRight="5dp" />

</LinearLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:id="@+id/attacheImage1"
    android:layout_below="@+id/channelContainer"
    android:layout_marginTop="5dp"
    android:layout_marginBottom="5dp"
    android:background="#ffffff"
    android:visibility="gone">

    <ImageView
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:id="@+id/imageViewAttach1"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="5dp"
        android:background="#ffffff"
        android:src="@drawable/location" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Attached."
        android:id="@+id/textViewAttach1"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@+id/imageViewAttach1"
        android:layout_toEndOf="@+id/imageViewAttach1"
        android:layout_marginLeft="10dp"
        android:layout_marginBottom="5dp" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Remove"
        android:id="@+id/buttonAttach1"
        android:layout_alignParentTop="false"
        android:layout_alignParentRight="true" />

    <ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/progressBarAttach1"
        android:layout_above="@+id/textViewAttach1"
        android:layout_alignLeft="@+id/textViewAttach1"
        android:layout_toLeftOf="@+id/buttonAttach1"
        android:layout_toStartOf="@+id/buttonAttach1"
        android:layout_marginRight="5dp"
        android:indeterminate="false"
        android:progress="100" />
</RelativeLayout>
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:id="@+id/attacheImage2"
    android:layout_below="@+id/attacheImage1"
    android:layout_marginBottom="5dp"
    android:layout_marginTop="5dp"
    android:background="#ffffff"
    android:visibility="gone">

    <ImageView
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:id="@+id/imageViewAttach2"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="5dp"
        android:background="#ffffff"
        android:src="@android:drawable/sym_def_app_icon" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Attaching..."
        android:id="@+id/textViewAtttach2"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@+id/imageViewAttach2"
        android:layout_toEndOf="@+id/imageViewAttach2"
        android:layout_marginLeft="10dp"
        android:layout_marginBottom="5dp" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Cancel"
        android:id="@+id/buttonAttach2"
        android:layout_alignParentTop="false"
        android:layout_alignParentRight="true" />

    <ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/progressBarAttach2"
        android:layout_above="@+id/textViewAtttach2"
        android:layout_alignLeft="@+id/textViewAtttach2"
        android:layout_toLeftOf="@+id/buttonAttach2"
        android:layout_toStartOf="@+id/buttonAttach2"
        android:layout_marginRight="5dp"
        android:indeterminate="false"
        android:progress="77" />


</RelativeLayout>
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:id="@+id/attacheImage3"
    android:layout_below="@+id/attacheImage2"
    android:layout_marginTop="5dp"
    android:layout_marginBottom="5dp"
    android:background="#ffffff"
    android:visibility="gone">

    <ImageView
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:id="@+id/imageViewAttach3"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="5dp"
        android:background="#ffffff"
        android:src="@drawable/icon_admin" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Attaching..."
        android:id="@+id/textViewAttach3"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@+id/imageViewAttach3"
        android:layout_toEndOf="@+id/imageViewAttach3"
        android:layout_marginLeft="10dp"
        android:layout_marginBottom="5dp" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Cancel"
        android:id="@+id/buttonAttach3"
        android:layout_alignParentTop="false"
        android:layout_alignParentRight="true" />

    <ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/progressBarAttach3"
        android:layout_above="@+id/textViewAttach3"
        android:layout_alignLeft="@+id/textViewAttach3"
        android:layout_toLeftOf="@+id/buttonAttach3"
        android:layout_toStartOf="@+id/buttonAttach3"
        android:layout_marginRight="5dp"
        android:indeterminate="false"
        android:progress="43" />

</RelativeLayout>

<EditText
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:inputType="textMultiLine"
    android:ems="10"
    android:fitsSystemWindows="true"
    android:id="@+id/editText"
    android:hint="write from here..."
    android:gravity="top"
    android:padding="5dp"
    android:layout_above="@+id/relativeLayout4"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_below="@+id/attacheImage3"
    android:background="#ffffff" />

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:background="@color/button_material_light"
    android:id="@+id/relativeLayout4">

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="75dp"
        android:layout_height="wrap_content"
        android:text="Image"
        android:id="@+id/buttonAddImage"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="75dp"
        android:layout_height="wrap_content"
        android:text="Send"
        android:id="@+id/button2"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />


</RelativeLayout>

并且在我的布局中,当我开始编辑我的editText时,每个其他布局都会用键盘向上移动而不是在底部的布局(有2个按钮),我希望它也向上移动,这样就可以了在编辑editText

时可见

任何想法我怎么能这样做?我的活动清单:

        <activity android:name=".myActivity"
        android:theme="@style/AppTheme.NoActionBar"/>

我真正需要的是这样的:

看到我们在IOS底部的东西我们打电话输入附件 enter image description here

当编辑开始时: 使用键盘进行布局 enter image description here

我拥有的是这个:

enter image description here

当编辑开始时: enter image description here

2 个答案:

答案 0 :(得分:2)

尝试使用新的XML布局文件:

    <?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:orientation="vertical" android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:animateLayoutChanges="true"
                  android:background="@color/black_30">


        <android.support.v7.widget.Toolbar
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:minHeight="?attr/actionBarSize"
            android:id="@+id/toolbarAnnouncement"
            android:elevation="5dp"
            android:theme="@style/ToolBarStyle"
            android:textAlignment="center"
            >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text=""
                android:layout_gravity="center"
                android:id="@+id/toolbar_title"
                android:textSize="20sp"
                android:textStyle="bold"
                android:background="#00000000"
                android:textColor="#ffffff" />


        </android.support.v7.widget.Toolbar>

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:weightSum="15"
                android:id="@+id/channelContainer"
                android:orientation="horizontal"
                android:layout_below="@+id/toolbarAnnouncement"
                android:background="@color/black_30"
                android:layout_weight="0.20">


                <TextView
                    android:layout_width="0dp"
                    android:layout_weight="2"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:text="To :"
                    android:id="@+id/textView16"
                    android:textSize="20sp"
                    android:paddingLeft="5dp"
                    android:layout_gravity="center_vertical" />


                <RelativeLayout
                    android:layout_width="0dp"
                    android:layout_weight="11"
                    android:id="@+id/chipViewLayout"
                    android:layout_height="wrap_content"
                    android:paddingBottom="10dp"
                    android:paddingTop="10dp">

                    <com.plumillonforge.android.chipview.ChipView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:id="@+id/buttonChannelSelectorAnnouncement"
                        android:layout_marginTop="10dp"
                        android:layout_marginBottom="10dp"
                        android:gravity="left"
                        android:padding="5dp"
                        android:minHeight="90dp" />


                </RelativeLayout>


                <Button
                    style="?android:attr/buttonStyleSmall"
                    android:layout_width="0dp"
                    android:layout_weight="2"
                    android:layout_height="wrap_content"
                    android:id="@+id/buttonRemoveChannel"
                    android:background="@android:drawable/ic_menu_close_clear_cancel"
                    android:visibility="gone"
                    android:layout_gravity="center_vertical"
                    android:layout_marginRight="5dp" />

            </LinearLayout>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:id="@+id/attacheImage1"
                android:layout_below="@+id/channelContainer"
                android:layout_marginTop="5dp"
                android:layout_marginBottom="5dp"
                android:background="#ffffff"
                android:visibility="gone">

                <ImageView
                    android:layout_width="45dp"
                    android:layout_height="45dp"
                    android:id="@+id/imageViewAttach1"
                    android:layout_centerVertical="true"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_marginLeft="5dp"
                    android:background="#ffffff"
                    android:src="@drawable/location" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:text="Attached."
                    android:id="@+id/textViewAttach1"
                    android:layout_alignParentBottom="true"
                    android:layout_toRightOf="@+id/imageViewAttach1"
                    android:layout_toEndOf="@+id/imageViewAttach1"
                    android:layout_marginLeft="10dp"
                    android:layout_marginBottom="5dp" />

                <Button
                    style="?android:attr/buttonStyleSmall"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Remove"
                    android:id="@+id/buttonAttach1"
                    android:layout_alignParentTop="false"
                    android:layout_alignParentRight="true" />

                <ProgressBar
                    style="?android:attr/progressBarStyleHorizontal"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/progressBarAttach1"
                    android:layout_above="@+id/textViewAttach1"
                    android:layout_alignLeft="@+id/textViewAttach1"
                    android:layout_toLeftOf="@+id/buttonAttach1"
                    android:layout_toStartOf="@+id/buttonAttach1"
                    android:layout_marginRight="5dp"
                    android:indeterminate="false"
                    android:progress="100" />
            </RelativeLayout>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:id="@+id/attacheImage2"
                android:layout_below="@+id/attacheImage1"
                android:layout_marginBottom="5dp"
                android:layout_marginTop="5dp"
                android:background="#ffffff"
                android:visibility="gone">

                <ImageView
                    android:layout_width="45dp"
                    android:layout_height="45dp"
                    android:id="@+id/imageViewAttach2"
                    android:layout_centerVertical="true"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_marginLeft="5dp"
                    android:background="#ffffff"
                    android:src="@android:drawable/sym_def_app_icon" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:text="Attaching..."
                    android:id="@+id/textViewAtttach2"
                    android:layout_alignParentBottom="true"
                    android:layout_toRightOf="@+id/imageViewAttach2"
                    android:layout_toEndOf="@+id/imageViewAttach2"
                    android:layout_marginLeft="10dp"
                    android:layout_marginBottom="5dp" />

                <Button
                    style="?android:attr/buttonStyleSmall"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Cancel"
                    android:id="@+id/buttonAttach2"
                    android:layout_alignParentTop="false"
                    android:layout_alignParentRight="true" />

                <ProgressBar
                    style="?android:attr/progressBarStyleHorizontal"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/progressBarAttach2"
                    android:layout_above="@+id/textViewAtttach2"
                    android:layout_alignLeft="@+id/textViewAtttach2"
                    android:layout_toLeftOf="@+id/buttonAttach2"
                    android:layout_toStartOf="@+id/buttonAttach2"
                    android:layout_marginRight="5dp"
                    android:indeterminate="false"
                    android:progress="77" />


            </RelativeLayout>

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:id="@+id/attacheImage3"
                android:layout_below="@+id/attacheImage2"
                android:layout_marginTop="5dp"
                android:layout_marginBottom="5dp"
                android:background="#ffffff"
                android:visibility="gone">

                <ImageView
                    android:layout_width="45dp"
                    android:layout_height="45dp"
                    android:id="@+id/imageViewAttach3"
                    android:layout_centerVertical="true"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_marginLeft="5dp"
                    android:background="#ffffff"
                    android:src="@drawable/icon_admin" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:text="Attaching..."
                    android:id="@+id/textViewAttach3"
                    android:layout_alignParentBottom="true"
                    android:layout_toRightOf="@+id/imageViewAttach3"
                    android:layout_toEndOf="@+id/imageViewAttach3"
                    android:layout_marginLeft="10dp"
                    android:layout_marginBottom="5dp" />

                <Button
                    style="?android:attr/buttonStyleSmall"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Cancel"
                    android:id="@+id/buttonAttach3"
                    android:layout_alignParentTop="false"
                    android:layout_alignParentRight="true" />

                <ProgressBar
                    style="?android:attr/progressBarStyleHorizontal"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/progressBarAttach3"
                    android:layout_above="@+id/textViewAttach3"
                    android:layout_alignLeft="@+id/textViewAttach3"
                    android:layout_toLeftOf="@+id/buttonAttach3"
                    android:layout_toStartOf="@+id/buttonAttach3"
                    android:layout_marginRight="5dp"
                    android:indeterminate="false"
                    android:progress="43" />

            </RelativeLayout>

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="0.70">

                <EditText
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:inputType="textMultiLine"
                    android:fitsSystemWindows="true"
                    android:id="@+id/editText"
                    android:hint="write from here..."
                    android:gravity="top"
                    android:padding="5dp"
                    android:background="#ffffff"
                    android:ems="10"
                    android:layout_weight="0.80"/>

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="40dp"
                    android:background="@color/button_material_light"
                    android:id="@+id/relativeLayout4">

                    <Button
                        style="?android:attr/buttonStyleSmall"
                        android:layout_width="75dp"
                        android:layout_height="wrap_content"
                        android:text="Image"
                        android:id="@+id/buttonAddImage"
                        android:layout_alignParentTop="true"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentStart="true" />

                    <Button
                        style="?android:attr/buttonStyleSmall"
                        android:layout_width="75dp"
                        android:layout_height="wrap_content"
                        android:text="Send"
                        android:id="@+id/button2"
                        android:layout_alignParentEnd="true" />


                </RelativeLayout>
            </LinearLayout>
        </LinearLayout>

    </LinearLayout>

答案 1 :(得分:1)

这是因为您将android:layout_alignParentBottom="true"设置为relativeLayout4这不允许它向上滚动。根据您的需要设置上边距或按Linearlayout并按weightsum属性和layout_weight属性调整布局。