协调器布局视图会阻止显示其他布局吗?

时间:2015-12-07 01:20:01

标签: android android-layout listview android-listview android-coordinatorlayout

我有CoordinatorLayout用于显示AppBarLayout。但问题是我的RelativeLayoutLinearLayout隐藏了我的ListViewListView。此外,我的ListView没有完全显示:相反,第一个<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" xmlns:fresco="http://schemas.android.com/tools" android:id="@+id/comments_coordinator_layout"> <android.support.design.widget.AppBarLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/comments_appbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.AppBarLayout> <RelativeLayout android:layout_below="@id/comments_coordinator_layout" android:id="@+id/view_post" android:layout_width="match_parent" android:paddingRight="5dp" android:paddingLeft="5dp" android:orientation="horizontal" android:layout_height="175dp" android:background="#e6e6e6"> <com.facebook.drawee.view.SimpleDraweeView android:layout_marginTop="15dp" android:id="@+id/poster_picture" android:layout_width="75dp" android:layout_height="75dp" android:layout_marginLeft="10dp" fresco:placeholderImage="@mipmap/blank_prof_pic" fresco:roundedCornerRadius="5dp" /> <TextView android:layout_marginLeft="5dp" android:layout_marginTop="15dp" android:layout_toRightOf="@id/poster_picture" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="15sp" android:textStyle="bold" android:id="@+id/poster_name"/> <TextView android:layout_alignParentRight="true" android:layout_marginTop="15dp" android:layout_toRightOf="@id/poster_name" android:layout_marginLeft="5dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="15sp" android:id="@+id/post_date"/> <TextView android:layout_marginLeft="5dp" android:layout_toRightOf="@id/poster_picture" android:layout_below="@id/poster_name" android:textSize="20sp" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/view_status" /> </RelativeLayout> <ListView android:id="@+id/lv_comments_feed" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/send_message" android:layout_below="@id/view_post"> </ListView> <LinearLayout android:id="@+id/send_message" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dp" android:layout_alignParentBottom="true" android:orientation="horizontal" > <EditText android:id="@+id/write_comment" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal" android:layout_weight="5" android:gravity="top|left" android:hint="Comment back!" android:inputType="textMultiLine" android:background="@color/white" android:scrollHorizontally="false" /> <Button android:id="@+id/send_comment" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal" android:gravity="center" android:text="send" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> </android.support.design.widget.CoordinatorLayout> 元素的一部分被切断,但我可以滚动查看其余部分。以下是我的尝试:

design

我不明白的一点是,当我点击布局的ListView标签时,看起来我的布局似乎彼此重叠,而不是相互显示。此外,我不明白为什么LinearLayout优先显示在我的RelativeLayoutAppBarLayout上。有什么方法可以让我从上到下有以下结构:RelativeLayout - &gt; ListView - &gt; LinearLayout - &gt; android:windowSoftInputMode="stateVisible"。任何帮助,将不胜感激。谢谢!

如果它意味着什么,在我的AndroidManifest中,我有<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" xmlns:fresco="http://schemas.android.com/tools" android:id="@+id/comments_coordinator_layout"> <android.support.design.widget.AppBarLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/comments_appbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.AppBarLayout> <RelativeLayout android:layout_marginTop="?attr/actionBarSize" android:layout_below="@id/comments_coordinator_layout" android:id="@+id/view_post" android:layout_width="match_parent" android:paddingRight="5dp" android:paddingLeft="5dp" android:orientation="horizontal" android:layout_height="175dp" android:background="#e6e6e6"> <com.facebook.drawee.view.SimpleDraweeView android:layout_marginTop="15dp" android:id="@+id/poster_picture" android:layout_width="75dp" android:layout_height="75dp" android:layout_marginLeft="10dp" fresco:placeholderImage="@mipmap/blank_prof_pic" fresco:roundedCornerRadius="5dp" /> <TextView android:layout_marginLeft="5dp" android:layout_marginTop="15dp" android:layout_toRightOf="@id/poster_picture" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="15sp" android:textStyle="bold" android:id="@+id/poster_name"/> <TextView android:layout_alignParentRight="true" android:layout_marginTop="15dp" android:layout_toRightOf="@id/poster_name" android:layout_marginLeft="5dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="15sp" android:id="@+id/post_date"/> <TextView android:layout_marginLeft="5dp" android:layout_toRightOf="@id/poster_picture" android:layout_below="@id/poster_name" android:textSize="20sp" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/view_status" /> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:layout_marginTop="225dp" android:id="@+id/lv_comments_feed" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/send_message"> </ListView> <LinearLayout android:id="@+id/send_message" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dp" android:layout_alignParentBottom="true" android:orientation="horizontal" > <EditText android:id="@+id/write_comment" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal" android:layout_weight="5" android:gravity="top|left" android:hint="Comment back!" android:inputType="textMultiLine" android:scrollHorizontally="false" /> <Button android:id="@+id/send_comment" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal" android:gravity="center" android:text="send" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> </RelativeLayout> </android.support.design.widget.CoordinatorLayout>

  

阻止报价

编辑:这是我想要实现的example

的一个例子

编辑:在从微小的阳光中得到一些建议之后,到目前为止我就是这样:

EditText

编辑:ListView的问题。如您所见,当我点击EditText时,布局仅显示ActionToolBar并隐藏包括Status Bar <activity android:name=".com.tabs.activity.Comments" android:label="View Post" android:theme="@style/AppTheme.NoActionBar" android:windowSoftInputMode="adjustPan"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".com.tabs.activity.news_feed"/> </activity> 在内的所有内容。

Issue with <code>EditText</code>

修改:显示Android清单

<FrameLayout>
  <ToolBar></ToolBar>
  <Relative Layout as List header></RelativeLayout as ListHeader>
  <ListView></ListView>
  <LinearLayout for Edit Text></LinearLayout for EditText>
</FrameLayout>

编辑:Tiny Sunlight的建议:

/

1 个答案:

答案 0 :(得分:0)

只需添加ScrollView并将softInputMode设置为adjustResize。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    android:fitsSystemWindows="true"
    android:layout_width="match_parent" android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent" android:fitsSystemWindows="true"
        xmlns:fresco="http://schemas.android.com/tools"
        android:id="@+id/comments_coordinator_layout">

        <android.support.v7.widget.Toolbar
            android:layout_alignParentTop="true"
            android:id="@+id/comments_appbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />




        <RelativeLayout
            android:layout_below="@id/comments_appbar"
            android:id="@+id/view_post"
            android:layout_width="match_parent"
            android:paddingRight="5dp"
            android:paddingLeft="5dp"
            android:orientation="horizontal"
            android:layout_height="175dp"
            android:background="#e6e6e6">

            <com.facebook.drawee.view.SimpleDraweeView
                android:layout_marginTop="15dp"
                android:id="@+id/poster_picture"
                android:layout_width="75dp"
                android:layout_height="75dp"
                android:layout_marginLeft="10dp"
                fresco:placeholderImage="@mipmap/blank_prof_pic"
                fresco:roundedCornerRadius="5dp"
                />

            <TextView
                android:layout_marginLeft="5dp"
                android:layout_marginTop="15dp"
                android:layout_toRightOf="@id/poster_picture"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="15sp"
                android:textStyle="bold"
                android:id="@+id/poster_name"/>

            <TextView
                android:layout_alignParentRight="true"
                android:layout_marginTop="15dp"
                android:layout_toRightOf="@id/poster_name"
                android:layout_marginLeft="5dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="15sp"
                android:id="@+id/post_date"/>

            <TextView
                android:layout_marginLeft="5dp"
                android:layout_toRightOf="@id/poster_picture"
                android:layout_below="@id/poster_name"
                android:textSize="20sp"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/view_status" />

        </RelativeLayout>

        <ListView
            android:id="@+id/lv_comments_feed"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_above="@+id/send_message"
            android:layout_below="@id/view_post">
        </ListView>

        <LinearLayout
            android:id="@+id/send_message"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:layout_alignParentBottom="true"
            android:orientation="horizontal" >

            <EditText
                android:id="@+id/write_comment"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|center_horizontal"
                android:layout_weight="5"
                android:gravity="top|left"
                android:hint="Comment back!"
                android:inputType="textMultiLine"
                android:background="@color/white"
                android:scrollHorizontally="false" />

            <Button
                android:id="@+id/send_comment"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|center_horizontal"
                android:gravity="center"
                android:text="send"
                android:textAppearance="?android:attr/textAppearanceMedium" />
        </LinearLayout>

    </RelativeLayout>
</ScrollView>