我想要一个Android活动的特定要求。创建一个论坛活动,其中包含标题,帖子,评论作为列表和评论按钮。
要求是:
我面临的问题是,当标题和帖子的高度增加列表视图并且按钮离开android视图时。当我尝试将滚动视图放在整个活动按钮上时,列表视图下方不会出现总是在底部。
P.S我是初学者。
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.trippals.android.SinglePostView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/clubtitle"
android:background="@drawable/abc_list_selector_background_transition_holo_ligh t"
android:textSize="25sp"
android:textStyle="bold"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/data"
android:layout_below="@+id/clubtitle"
android:layout_marginTop="15dp"
android:background="@drawable/abc_list_selector_background_transition_holo_light"
android:textSize="20sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/user"
android:textStyle="bold"
android:layout_below="@+id/data"
android:layout_marginTop="20dp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/user"
android:orientation="vertical"
android:layout_alignParentBottom="true"
android:weightSum="2"
>
<ListView
android:id="@+id/commentList"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.8"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:divider="@android:color/transparent"
android:layout_marginTop="5dp"
android:dividerHeight="10.0sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".2"
android:orientation="horizontal"
android:weightSum="1"
>
<EditText
android:id="@+id/commentbox"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="comment"
android:inputType="text"
android:layout_weight=".9"
/>
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/ic_play_dark"
android:id="@+id/addbutton"
android:layout_weight=".1"
/>
</LinearLayout>
</LinearLayout>
<ProgressBar
android:id="@+id/pbLoadingpost"
android:visibility="invisible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_centerInParent="true"
android:layout_gravity="center"
/>
答案 0 :(得分:0)
要在scrollview中使用listview,您需要在运行时以编程方式为listview提供固定高度,即item count * item height, 因为ScrollView需要知道其中每个视图的高度。
使用此代码获取列表视图的高度。
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
答案 1 :(得分:0)
我遇到了同样的问题。但是当我采用udacity android设计教程时,我学会了如何根据您的要求确定要使用的布局。有一个视频教授如何识别布局。我保证它会对你有所帮助。 我对你的问题的解决方案是: 您将要显示的按钮始终保持在活动底部的滚动视图之外,并保持滚动视图的高度与父按钮高度所需的边距相匹配。
答案 2 :(得分:-1)
看看这个页面: http://blog.lovelyhq.com/setting-listview-height-depending-on-the-items/
正如Ashim所说,如果你想在ScrollView中使用ListView,你必须根据项目的数量来设置ListView的高度(你不应该有一个ListView,当它是ScrollView的子项时应滚动项目,它应该是处理滚动)。