您可以动态生成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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐