gpt4 book ai didi

android - 动态网格布局

转载 作者:行者123 更新时间:2023-11-29 15:57:07 25 4
gpt4 key购买 nike

我想实现动态填充的网格。我想知道实现此相对布局( ListView )或网格布局的最佳方法是什么?

enter image description here

最佳答案

您可以动态生成 GridView。

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

示例:

GridView 项目.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<ImageView
android:id="@+id/imgItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/ic_launcher" />

<TextView
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" />

</LinearLayout>

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。

Refer to thisthis

希望对您有所帮助。

关于android - 动态网格布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27416461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com