這是正常的:(但寬度和高度的值沒有改變)奇怪的行爲,項目在滾動時ListView自動縮放?
這是奇怪的,當我滾動列表視圖的一些項目收縮:
在這個截圖項目[1:3]是同一種,但項目[3]沒有規模。哪個項目縮放似乎隨機可能基於設備或內容。
ListView和適配器的代碼是沒有什麼特別的:
mListView = new ListView(mContext);
mListView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
mProviderAdapter = new ProviderAdapter();
mListView.setAdapter(mProviderAdapter);
class ProviderAdapter extends BaseAdapter {
@Override
public int getCount() {
return mCount;
}
@Override
public Object getItem(int position) {
return mProviders.get(position);
}
@Override
public long getItemId(int position) {
return mProviders.get(position).mMsgSpace;
}
@Override
public int getViewTypeCount() {
return 10000;
}
@Override
public int getItemViewType(int position) {
// TODO Auto-generated method stub
return (position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return mProviders.get(position).getUI().getView();
}
}
層次瀏覽器(右下角)的截圖:Link
,這裏是自定義視圖:
<?xml version="1.0" encoding="UTF-8"?>
<ViewAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#44FFFFFF" >
<LinearLayout
android:id="@+id/word"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#EC5800"
android:textSize="24sp" />
<TextView
android:id="@+id/pron"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="bottom" />
</LinearLayout>
<TextView
android:id="@+id/definition"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
android:text="@string/add"
android:textSize="20sp" />
<Button
android:id="@+id/sound"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:contentDescription="@string/audio"
android:padding="16dp"
android:text="@string/audio"
android:textSize="20sp" />
<Button
android:id="@+id/switch_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:contentDescription="@string/audio"
android:padding="16dp"
android:text="@string/definition"
android:textSize="20sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/login"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Login" />
</LinearLayout>
<LinearLayout
android:id="@+id/blank"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</LinearLayout>
</ViewAnimator>
另一種觀點:
<?xml version="1.0" encoding="utf-8"?>
<ViewSwitcher xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ViewSwitcher1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/example_panel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/example_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/example_zh_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/example_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/example_zh_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView" />
<Button
android:id="@+id/switchto_note"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
<LinearLayout
android:id="@+id/note_panel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/note_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine" >
<requestFocus />
</EditText>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/comfirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
</LinearLayout>
</ViewSwitcher>
你可以發佈ListView的自定義行的XML代碼? – Meatje 2012-03-13 09:00:07
好的,我已更新該帖子。 – DouO 2012-03-13 09:08:02
你真的有10000種不同的風景嗎? – Blackbelt 2012-03-17 10:45:19