gpt4 book ai didi

带有文本+图像的Android自定义GridLayout

转载 作者:太空狗 更新时间:2023-10-29 16:22:30 24 4
gpt4 key购买 nike

在我的应用程序中,我试图从网络服务中获取一组用户的详细信息。然后,我想在 GridLayout 中显示每个用户的图像及其名称。我以前没有使用过 GridLayout,因此尝试浏览在线提供的教程,但其中大部分只处理图像。我需要在网格中同时显示图像和文本。

如何设置自定义 GridLayout 以显示文本和图像?

最佳答案

试试这个:

  public class GridActivity extends Activity implements AdapterView.OnItemClickListener {
/** Called when the activity is first created. */

Integer[] imageIDs = {
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,
R.drawable.ic_launcher,

};

String[] titles = {
"First",
"Second",
"Third",
"Fourth",
"Fifth",
"First",
"Second",
"Third",
"Fourth",
"Fifth",
"First",
"Second",
"Third",
"Fourth",
"Fifth",
"First",
"Second",
"Third",
"Fourth",
"Fifth",
"First",
"Second",
"Third",
"Fourth",
"Fifth",
"First",
"Second",
"Third",
"Fourth",
"Fifth",

};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView gridView = (GridView) findViewById(R.id.grid);
gridView.setAdapter(new ImageAdapter(this));


}

public class ImageAdapter extends BaseAdapter
{
private Context context;

public ImageAdapter(Context c)
{
context = c;
}

//---returns the number of images---
public int getCount() {
return imageIDs.length;
}

//---returns the ID of an item---
public Object getItem(int position) {
return position;
}

public long getItemId(int position) {
return position;
}

//---returns an ImageView view---
public View getView(int position, View convertView, ViewGroup parent)
{
ImageView icon;
icon = new ImageView(context);

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row=inflater.inflate(R.layout.row, parent, false);
TextView label=(TextView)row.findViewById(R.id.image_name);
label.setText(titles[position]);
icon=(ImageView)row.findViewById(R.id.album_image);

icon.setImageResource(imageIDs[position]);

return row;
}

}

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {

// TODO Auto-generated method stub

}
}

Main.XMl

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<GridView
android:id="@+id/grid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/lay"
android:columnWidth="100px"
android:horizontalSpacing="5dip"
android:numColumns="auto_fit"
android:scrollbars="horizontal"

android:stretchMode="columnWidth"
android:verticalSpacing="35px" />
</LinearLayout>

行.xml

  <?xml version="1.0" encoding="utf-8"?>
<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/album_image"
android:adjustViewBounds="true"
android:layout_width = "fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id = "@+id/image_name"
android:layout_width = "fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>
</LinearLayout>

关于带有文本+图像的Android自定义GridLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11079563/

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