如何在按钮下方获取ListView

时间:2015-05-04 11:43:09

标签: android textview alignment android-linearlayout

现在我的列表视图位于我的最后一个按钮的右侧,但我希望它位于我的所有三个按钮下面(它们都位于同一行)。如何在列表下方获取我的列表视图?

这是我的代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal|bottom"
android:orientation="horizontal"
android:background="#000000"
tools:context=".Visualizer"
android:id="@+id/homePage">

<ImageButton
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:gravity="top|left"
    android:background="@drawable/pic_icon"
    android:id="@+id/picButton"
    android:layout_gravity="left"/>

<ImageButton
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:gravity="top|center"
    android:background="@drawable/cancel_that_pic"
    android:id="@+id/deletePicButton"
    />

<ImageButton
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:gravity="top|right"
    android:background="@drawable/visual_blueblue"
    android:id="@+id/visIcon"
    android:layout_gravity="right"
   />

<ListView
    android:id="@+id/song_list"
    android:layout_width="fill_parent"
    android:layout_height="500dp" >
</ListView>

<Space
    android:id="@+id/blank_space"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center_horizontal" />


</LinearLayout>

3 个答案:

答案 0 :(得分:1)

我不知道这个布局是否真的是你想要的,因为一切都是水平的。我会优先将父LinearLayout设置为vertical,然后添加另一个LinearLayout。例如:

<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="match_parent"
android:layout_gravity="center_horizontal|bottom"
android:orientation="vertical"
android:background="#000000"
tools:context=".Visualizer"
android:id="@+id/homePage">

<LinearLayout  
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal|bottom"
    android:orientation="horizontal"
    android:background="#000000">

<ImageButton
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:gravity="top|left"
    android:background="@drawable/pic_icon"
    android:id="@+id/picButton"
    android:layout_gravity="left"/>

<ImageButton
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:gravity="top|center"
    android:background="@drawable/cancel_that_pic"
    android:id="@+id/deletePicButton"/>

<ImageButton
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:gravity="top|right"
    android:background="@drawable/visual_blueblue"
    android:id="@+id/visIcon"
    android:layout_gravity="right"/>
</LinearLayout>
<ListView
    android:id="@+id/song_list"
    android:layout_width="match_parent"
    android:layout_height="500dp" >
</ListView>

<Space
    android:id="@+id/blank_space"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center_horizontal" />


</LinearLayout>

并且,请使用xml属性“match_parent”而不是“fill_parent”。此外,你可能需要在这里做一些更多的东西,在一些小屏幕上它可能会发生,因为你的listView高度从500dp不是一切都可见。

答案 1 :(得分:0)

试试这个,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/homePage"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center_horizontal|bottom"
    android:background="#000000"
    android:orientation="vertical"
    tools:context=".Visualizer" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/picButton"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_gravity="left"
            android:background="@drawable/ic_launcher"
            android:gravity="top|left" />

        <ImageButton
            android:id="@+id/deletePicButton"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:background="@drawable/ic_launcher"
            android:gravity="top|center" />

        <ImageButton
            android:id="@+id/visIcon"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_gravity="right"
            android:background="@drawable/ic_launcher"
            android:gravity="top|right" />
    </LinearLayout>

    <ListView
        android:id="@+id/song_list"
        android:layout_width="fill_parent"
        android:layout_height="500dp" >
    </ListView>

    <Space
        android:id="@+id/blank_space"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center_horizontal" />

</LinearLayout>

答案 2 :(得分:0)

尝试使用相对LAyout

<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:background="@color/appColor"
tools:context="SplashActivity">

<LinearLayout
    android:id="@+id/buttonLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:orientation="vertical">

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/ic_launcher" />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/ic_launcher" />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/ic_launcher" />
</LinearLayout>

<ListView
    android:id="@+id/listview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentRight="true"
    android:layout_toRightOf="@+id/buttonLayout">

</ListView>

</RelativeLayout>