您可以动态生成GridView.

GridView将根据您的需要包含ImageView和TextView.您必须使用自定义适配器.在它的getView方法中,填充ImageView和TextView.

例:

GridView item.xml:

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

android:id="@+id/imgItem"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:src="@drawable/ic_launcher" />

android:id="@+id/txtItem"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:fontFamily="trebuchet"

android:textColor="@android:color/black"

android:textSize="15sp"

android:textStyle="bold" />

Java代码:

项目的POJO类:

public class Item

{

String title;

Drawable image;

//getter setter

}

适配器类:

//getView method in your adapter class

@Override

public View getView(int position, View convertView, ViewGroup parent)

{

View itemView = convertView;

ViewHolder holder = null;

if (itemView == null)

{

final LayoutInflater layoutInflater =

(LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

itemView = layoutInflater.inflate(resourceId, parent, false);

holder = new ViewHolder();

holder.imgItem = (ImageView) itemView.findViewById(R.id.imgItem);

holder.txtItem = (TextView) itemView.findViewById(R.id.txtItem);

itemView.setTag(holder);

}

else

{

holder = (ViewHolder) itemView.getTag();

}

Item item = getItem(position);

holder.imgItem.setImageDrawable(item.getImage());

holder.txtItem.setText(item.getTitle());

return itemView;

}

现在在Activity类中添加适配器数据,然后将该适配器设置为GridView.

希望能帮助到你.

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐