我的问题是我的listview在absoulteLayout上工作得很完美,但底部的按钮不会显示出来!我将带有absoluteLayout的scrollview与所有项目(textview,button等)放在一起,在scrollview之外我放了listview,这也没用,只是滚动按钮但listview只是移动一点,如何设置滚动视图以查看按钮上的按钮并使列表视图有效? 我的XML:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!-- The main content view -->
<AbsoluteLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/Ab">
<ListView
android:layout_width="317dp"
android:layout_height="429dp"
android:id="@+id/listView"
android:layout_gravity="center"
android:layout_x="45dp"
android:layout_y="41dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This Works Monica!!"
android:id="@+id/TV1"
android:layout_gravity="center_horizontal"
android:layout_x="120dp"
android:layout_y="22dp" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:text="Play :D"
android:id="@+id/TESTME"
android:layout_gravity="center_horizontal|bottom"
android:layout_x="190dp"
android:layout_y="520dp" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:text="Pause"
android:id="@+id/PAUSE"
android:layout_x="110dp"
android:layout_y="521dp" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="37dp"
android:text="Lista"
android:id="@+id/LISTA"
android:layout_x="274dp"
android:layout_y="520dp" />
<CheckBox
android:layout_width="84dp"
android:layout_height="wrap_content"
android:text="Lista?"
android:id="@+id/CHECARL"
android:layout_x="267dp"
android:layout_y="490dp"
android:checked="false" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:text="BorrarL"
android:id="@+id/BORRARL"
android:layout_x="20dp"
android:layout_y="520dp" />
</AbsoluteLayout>
<!-- The navigation drawer -->
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#E6E6E7" />
答案 0 :(得分:2)
您正在使用绝对布局,这意味着来自文档:
一种布局,可让您指定其子项的确切位置(x / y坐标)。
因此,如果您没有看到按钮,那么因为它们位于设备屏幕边界之外。他们的位置是绝对 / 固定所以他们无论如何都会留在那里。
我建议更改为不同的布局。我不知道您正在构建哪种应用,但绝对布局通常不是最佳选择。
答案 1 :(得分:0)
可能性第一:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background"
android:clickable="true">
<ListView
android:id="@+id/allPaymentListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/addNewPayment"
android:layout_marginTop="10dp"></ListView>
<Button
android:id="@+id/addNewPayment"
android:layout_width="match_parent"
android:layout_height="@dimen/primary_button_height"
android:layout_alignParentBottom="true"
android:layout_margin="10dp"
android:background="@drawable/blackbutton"
android:text="@string/add_new_card"
android:textColor="@color/light_blue"/>
</RelativeLayout>
在这种情况下,按钮将始终显示在页面底部,列表视图下方。
第二种可能性是在列表视图中添加页脚: http://developer.android.com/reference/android/widget/ListView.html#addFooterView(android.view.View)
在这种情况下,带按钮的视图将是列表视图中的最后一个元素。
并且不使用Absolute Layout不推荐使用,原因是应用不会根据需要缩放到不同的屏幕尺寸。
答案 2 :(得分:0)
你应该使用RelativeLayout和底部的按钮,ListView放在按钮的顶部。
一般来说,AbsoluteLayout。除非你试图达到一个非常特定的目的,否则要避免使用布局。它被认为是绝对定位元素的反模式。要实现你所说的,可以选择RelativeLayout。