hiện tôi đã bố trí sauthế nào tôi có thể listview tự động kích thước để nó không di chuyển
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginTop="9px"
android:layout_below="@+id/desc"
android:id="@+id/ll_item"
android:orientation="vertical"
android:paddingRight="3px"
android:paddingLeft="3px"
android:paddingBottom="5px"
android:paddingTop="5px"
android:background="@drawable/rounded_corner_lists" >
<!--
<ListView android:drawSelectorOnTop="false" android:id="@+id/lv" android:layout_height="fill_parent" android:layout_width="wrap_content" android:divider="#ddd" android:dividerHeight="1px" android:background="@drawable/white" />
-->
</LinearLayout>
listview mà tôi đã nhận xét ra, tôi đã cố gắng để làm điều này trong xml, với các thiết lập chiều cao để wrap_content, fill_parent, hiện nay tôi đang làm điều này programatically với đoạn mã sau
LinearLayout ll_item = (LinearLayout) this.findViewById(R.id.ll_item);
if(list.length() > 0)
{
ll_item.setVisibility(View.VISIBLE);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,calcListHeight(list));
listview = new ListView(this);
listview.setBackgroundResource(R.drawable.white);
listview.setDivider(new ColorDrawable(this.getResources().getColor(R.drawable.dividercolor)));
listview.setDividerHeight(1);
listview.setCacheColorHint(0);
mAdapter = new JSONAdapter(list, this);
listview.setAdapter(mAdapter);
mAdapter.notifyDataSetChanged();
ll_item.addView(listview, lp);
}
đây là kết quả
vì vậy bạn có thể thấy trong hình ảnh này, rằng kể từ khi tôi đang chứa listview trong một LinearLayout để có được cái nhìn góc tròn, nó không chỉ tự động kéo dài để chứa toàn bộ listview, là có bất kỳ cách để có hai yếu tố chỉ bọc nội dung theo chiều dọc để không có cuộn mà không có tôi lập trình thiết lập chiều cao? ? ?
tôi đoán một điều khác tôi nên đề cập đến là tôi có tất cả các bố trí này trong một scrollview, bởi vì tôi muốn listview này trở thành một tiểu mục nhỏ của toàn bộ bố trí, vì vậy nó sẽ là một cái gì đó giống như
-scrollview
-textview
-textview
-linearlayout
-listview
- nút
đây là một bố cục đơn giản hơn những gì tôi có
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent"
android:background="@drawable/bg" xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/titlebar">
<ScrollView android:id="@+id/sv" android:layout_width="fill_parent" android:background="@drawable/bg"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout android:id="@+id/widget28"
android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="4dip"
>
<LinearLayout android:orientation="vertical" style="@style/rounded_corner_full_width_button"
android:id="@+id/editfields">
<ListView android:drawSelectorOnTop="false" android:id="@+id/lv" android:layout_height="fill_parent"
android:layout_width="wrap_content" android:divider="#ddd" android:dividerHeight="1px"
android:background="@drawable/white"/>
</LinearLayout>
</RelativeLayout>
</ScrollView>
</LinearLayout>
Cảm ơn Adam, tôi đã có một bộ chuyển đổi mà tôi đã có thể tái sử dụng với LinearLayout sử dụng gợi ý của bạn. –
Cảm ơn! Giống như Artem tôi đã có thể sử dụng lại adapter của mình bằng cách sử dụng linearlayout. – hyui
Cảm ơn Adam. Bộ điều hợp của bạn có cần đồng bộ không? Khi tôi thử điều này, nó chỉ lấy được vật phẩm đầu tiên của tôi, giống như bộ nạp của bộ chuyển đổi không được thực hiện. – annie