为了确保RelativeLayout
导致我更换它的滞后将是一个简单的布局,然后没有经验滞后。
我正在使用cardslib。
我在rel布局 2级层次结构上没有嵌套布局,但是当我使用它时仍然会遇到滞后。是否有任何选项搞乱或优先选项搞砸了?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="30dip">
<!-- This is the base Inner View inside a CardHeader.
You can customize it with your layout xml file and your CardHeader.
You can popolate your elements with CardHeader#setupInnerViewElements(android.view.ViewGroup, android.view.View) method
-->
<TextView
android:id="@+id/textView6"
android:layout_width="fill_parent"
android:textColor="@color/card_activated"
android:layout_height="3dip"
android:layout_below="@+id/card_header_inner_simple_title"
android:layout_centerHorizontal="true"
android:background="@color/card_activated"
android:layout_margin="10dip"/>
<ImageView
android:id="@+id/imageDisplay"
android:layout_width="120dip"
android:layout_height="120dip"
android:layout_alignLeft="@+id/textView6"
android:layout_alignTop="@+id/textView6"
android:layout_marginTop="46dp"
android:layout_marginLeft="46dp"
android:adjustViewBounds="true"
android:src="@drawable/content_picture" />
<Spinner
android:id="@+id/spinner1"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:layout_margin="20dip"
android:entries="@array/quanitiy"
android:layout_alignTop="@+id/textView2"
android:layout_toRightOf="@+id/imageDisplay" />
<TextView
android:id="@+id/textView3"
android:layout_width="fill_parent"
android:textColor="@color/card_activated"
android:layout_height="2dip"
android:layout_below="@+id/spinner1"
android:layout_centerHorizontal="true"
android:background="@color/card_activated"
android:layout_margin="10dip"
/>
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/card_header_inner_simple_title"
android:layout_below="@+id/autoCompleteTextView1"
android:layout_marginTop="10dip"
android:layout_marginLeft="20dip"
android:textSize="20sp"
android:textStyle="bold"
android:text="Total" />
<ImageView
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView6"
android:layout_below="@+id/textView6"
android:src="@drawable/cancel" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imageDisplay"
android:layout_marginBottom="23dp"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:layout_toRightOf="@+id/imageDisplay"
android:text="$ 10"
android:textColor="@color/light_green"
android:textSize="20sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/checkout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dip"
android:layout_below="@+id/textView4"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:adjustViewBounds="true"
android:layout_gravity="center"
android:src="@drawable/checkout" />
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/card_header_inner_simple_title"
android:layout_below="@+id/textView3"
android:alpha=".4"
android:ems="9"
android:focusable="false"
android:gravity="center"
android:text="Add optional note to chef"
android:textColor="@color/abs__background_holo_dark"
android:textStyle="italic" >
<requestFocus />
</AutoCompleteTextView>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_alignTop="@+id/imageDisplay"
android:gravity="center_vertical"
android:text="Red Horse"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/subtotal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/checkout2"
android:layout_toLeftOf="@+id/cancel"
android:gravity="center"
android:text="$ 10"
android:textSize="20sp"
android:textStyle="bold" />
</RelativeLayout>
更新
@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
Viewholder v = new Viewholder();
View rowView = convertView;
if(!imageLoader.isInited()){
imageLoader.init(ImageLoaderConfiguration.createDefault(getActivity()));
}
if(rowView == null){
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
rowView = inflater.inflate(R.layout.inner_base_header_cutom, null);
v.img = (ImageView)rowView.findViewById(R.id.imageDisplay);
v.remove = (ImageView)rowView.findViewById(R.id.cancel);
//Viewholder viewHolder = new Viewholder();
rowView.setTag( v);
}
else{
v = (Viewholder) rowView.getTag();
}
if(v.img!=null && imageLoader != null){
imageLoader.displayImage("http://assets.bigdealsmedia.net/images/13407.jpg", v.img, options);
}
v.remove.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
remove(list.get(position));
//adapter.notifyDataSetChanged();
//
}
});
return rowView;
}
答案 0 :(得分:2)
这可能不是项目,检查你的listview宽度/高度,他们都应该设置为match_parent。将listview width设置为wrap_content会导致渲染时间缩短。
您通常希望避免在任何xml布局上使用wrap_content。尝试将父元素的宽度和高度设置为match_parent,对于某些子视图,您可以至少将宽度设置为match_parent。
也可以从适配器发布一些getView()代码。
同时改变你的通货膨胀
rowView = inflater.inflate(R.layout.inner_base_header_cutom, null);
到这个
rowView = inflater.inflate(R.layout.inner_base_header_cutom, parent,false);
答案 1 :(得分:0)
在我的一些实验中,图书馆不能满足繁重的用户界面。
所以我做了什么,我只是使用了一个简单的listview,然后在我的cutom数组适配器中我仍然使用了viewholder类,并使用样式来查看布局就像一张卡片。