让我解释一下我的问题。
当我在相对根布局上使用资源背景时,GridView滚动速度太慢。 我的后台文件大小是114KB。
我使用 android:cacheColorHint =“#00000000”或 android:overScrollMode =“never”但没有成功。 这是我的xml代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/bg"
android:layout_width="match_parent"
android:layout_height="match_parent">
<GridView
android:layout_width="match_parent"
android:layout_height="125dp"
android:id="@+id/useful_applications"
android:layout_marginTop="35dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:choiceMode="singleChoice"
android:cacheColorHint="#00000000"
android:overScrollMode="never"
android:clickable="true"
android:numColumns="4"
android:gravity="center"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp" />
</RelativeLayout>
我将ArrayAdapter与holder模式一起使用。
任何人都可以帮助我吗?
更新1: 这是我使用holder pattern
的适配器getView@Override
public View getView(int position, View convertView, ViewGroup parent) {
UsefulApplicationHolder holder;
if (convertView == null) {
convertView =LayoutInflater.from(mContext).inflate(R.layout.component_application_icon, parent, false);
holder = new UsefulApplicationHolder();
holder.icon = (ImageView) convertView.findViewById(R.id.icon);
holder.score = (TextView) convertView.findViewById(R.id.score);
convertView.setTag(holder);
} else {
holder = (UsefulApplicationHolder) convertView.getTag();
}
Apps info = getItem(position);
holder.icon.setImageDrawable(info.getIcon());
String score = info.getScore();
if (Integer.valueOf(score) > 0) {
holder.score.setTextColor(mContext.getResources().getColor(R.color.green));
score = "+" + score;
} else if (Integer.valueOf(score) < 0) {
holder.score.setTextColor(mContext.getResources().getColor(R.color.red));
} else {
holder.score.setTextColor(mContext.getResources().getColor(R.color.light_gray));
}
holder.score.setText(score);
return convertView;
}