如何在按钮下方获取ListView
How to get ListView underneath buttons
现在我的列表视图位于最后一个按钮的右侧,但我希望它位于所有三个按钮的下方(它们都在同一行)。如何让我的列表视图位于我的按钮下方?
这是我的代码
<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>
试试这个,
<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>
我不知道这个布局是不是你想要的,因为一切都是水平的。我希望将父 LinearLayout 设置为垂直,然后添加另一个 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,因此并非所有内容都可见。
试试相对布局
<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>
现在我的列表视图位于最后一个按钮的右侧,但我希望它位于所有三个按钮的下方(它们都在同一行)。如何让我的列表视图位于我的按钮下方?
这是我的代码
<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>
试试这个,
<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>
我不知道这个布局是不是你想要的,因为一切都是水平的。我希望将父 LinearLayout 设置为垂直,然后添加另一个 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,因此并非所有内容都可见。
试试相对布局
<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>