2017-02-14 158 views
1

我正在努力使用我的Android布局。在列表视图下放置片段

我想创建一个线性布局,其中包含顶部的按钮,下一个列表视图,并且当显示列表视图的所有元素时,我想显示显示Google地图的片段。

这是我的Layout xml文件。在这种情况下,你只能看到片段和按钮,但不是列表视图

<?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="wrap_content" 
       android:layout_height="fill_parent" 
       android:paddingLeft="10dp" 
       android:paddingRight="10dp" 
       android:orientation="vertical" 
     tools:context="de.mypackage.MyActivity"> 

    <Button 
      android:layout_height="wrap_content" 
      android:layout_width="fill_parent" 
      android:layout_weight="0" 
      android:id="@+id/button_back" 
      android:text="@string/back" 
      /> 

     <ListView 
       android:id="@+id/list" 
       android:layout_height="fill_parent" 
       android:layout_width="fill_parent" 
       android:layout_weight="1"/> 
       /> 

    <fragment 
      android:id="@+id/fragement" 
      android:name="de.mpackage.MapsFragment" 
      android:layout_height="wrap_content" 
      android:layout_width="fill_parent" 
      android:layout_weight="0" 
      tools:layout="@layout/fragment_maps"/> 

</LinearLayout> 

任何想法我如何能实现我的布局?

+1

增加layout_weight=1你可以添加片段作为注脚到ListView? – raktale

+0

将标题添加到将保存按钮的列表视图中。将页脚添加到您的列表视图中,该视图将保存Google地图。 – nnn

+0

@MichaelMeyer我尝试使用'wrapper_content'作为'ListView',并将'layout_weight = 1'放入'fragment'中。我发布了答案。希望能帮助到你。 :) – natsumiyu

回答

0

试试这个代码

<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="wrap_content" 
    android:orientation="vertical" 
    android:paddingLeft="10dp" 
    android:paddingRight="10dp"> 

    <Button 
     android:id="@+id/button_back" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/back" /> 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" /> 

    <fragment 
     android:id="@+id/fragement" 
     android:name="com.yougotag.supplierfieldagent.fragments.AboutFragment" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     tools:layout="@layout/fragment_about_app" /> 

</LinearLayout> 
+0

对不起,但我仍然无法看到列表视图。只有与谷歌地图片段 –

0

建议: 声明根布局RelativeLayout

RelativeLayout的是显示在相对 位置子视图视图组。每个视图的位置可以指定为相对于 兄弟元素。

然后使用android:layout_below

位置低于给定的锚视图ID该视图的顶部边缘。 容纳此视图的顶部边距和锚点视图的底部边距。

<fragment 
     android:id="@+id/fragement" 
     android:name="de.mpackage.MapsFragment" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:layout_below="@+id/birth" 
     tools:layout="@layout/list"/> 
1
Try this code 

<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="wrap_content" 
    android:orientation="vertical" 
    android:paddingLeft="10dp" 
    android:weightSum="1" 
    android:paddingRight="10dp"> 

    <Button 
     android:id="@+id/button_back" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/back" /> 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="0.5" /> 

    <fragment 
     android:id="@+id/fragement" 
     android:name="com.yougotag.supplierfieldagent.fragments.AboutFragment" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="0.5" 
     tools:layout="@layout/fragment_about_app" /> 

</LinearLayout> 

this will set both in half screen you can change ration of weights in layout. 
+0

对不起,这不是我正在寻找 –

0

试试这个:

<?xml version="1.0" encoding="utf-8"?> 
    <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="fill_parent" 
        android:paddingLeft="10dp" 
        android:paddingRight="10dp" 
        tools:context="de.mypackage.MyActivity"> 

      <Button 
       android:layout_height="wrap_content" 
       android:layout_width="fill_parent" 
       android:layout_weight="0" 
       android:id="@+id/button_back" 
       android:text="@string/back" 
       /> 

      <ListView 
        android:id="@+id/list" 
        android:layout_height="fill_parent" 
        android:layout_width="fill_parent" 
        android:layout_weight="1" 
        android:layout_below="@+id/button_back"/> 
        /> 

     <fragment 
       android:id="@+id/fragement" 
       android:name="de.mpackage.MapsFragment" 
       android:layout_height="wrap_content" 
       android:layout_width="fill_parent" 
       android:layout_weight="0" 
       android:layout_below="@+id/list" 
       tools:layout="@layout/fragment_maps"/> 

    </RelativeLayout> 
+0

现在我只能看到列表视图 –

0

我找到了解决办法希望它帮助。 在我ListViewheight,而不是使用0dp我以前wrap_content和我Fragment

<LinearLayout 
    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:background="#EFEFEF" 
    android:orientation="vertical"> 

    <Button 
     android:id="@+id/button_back" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     /> 

    <ListView 
     android:id="@+id/list" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:divider="@null"/> 

    <fragment 
     android:name="de.mpackage.MapsFragment" 
     android:id="@+id/fragement" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_margin="5dp" 
     android:layout_weight="1" 
     /> 

</LinearLayout>