Android大作业(一)

您所在的位置:网站首页 小说系统界面怎么写 Android大作业(一)

Android大作业(一)

2024-07-14 09:28| 来源: 网络整理| 查看: 265

Android大作业(一)——GridView制作小说app书架页面

文章目录

目录

Android大作业(一)——GridView制作小说app书架页面

前言

一、GridView概念

二、效果图

三、步骤

前言

        本次目标为仿市面上流行小说App做一个简易的小说阅读器。本章节以GridView为基础制作小说App书架页面。

提示:以下是本篇文章正文内容,下面案例可供参考

一、GridView概念

        GridView控件是Android中一种显示列表数据的控件,通常用于展示一组数据集合。GridView控件会在屏幕上以网格形式展示数据集合,每个网格都是相同大小的。GridView可以通过适配器来加载数据,可以设置点击事件来实现对数据的选择等操作。此外,它还支持分页加载数据,卡片布局等功能。

二、效果图

        (效果图不包括底部导航栏,这个详情可以去了解fragment)

三、步骤

        首先,创建布局文件fragment_book.xml,其代码如下:

        在其对应的java对象,我这里是叫做BookFragment里重写其onCreateView方法,并且提供一些假数据。其代码如下:

public class BookFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_book, container, false); GridView gridView = (GridView) view.findViewById(R.id.bookshelf_gridview); ArrayList books = new ArrayList(); books.add(new Book(R.drawable.book1, "黄沙之下","crab")); books.add(new Book(R.drawable.book2, "剑来","烽火戏诸侯")); books.add(new Book(R.drawable.book3, "我在精神病院学斩神","三九音域")); books.add(new Book(R.drawable.book4, "深空彼岸","辰东")); books.add(new Book(R.drawable.book5, "一剑独尊","青鸾峰上")); books.add(new Book(R.drawable.book6, "仙武帝尊","六界三道")); books.add(new Book(R.drawable.book7, "重生回1983当富翁","恩怨各一半")); books.add(new Book(R.drawable.book8, "雪中悍刀行","烽火戏诸侯")); BookAdapter adapter = new BookAdapter(getActivity(), books); gridView.setAdapter(adapter); return view; } }

        创建一个适配器,命名为BookAdapter:

public class BookAdapter extends BaseAdapter { private final Context mContext; private final ArrayList mBooks; public BookAdapter(Context context, ArrayList books) { this.mContext = context; this.mBooks = books; } @Override public int getCount() { return mBooks.size(); } @Override public Object getItem(int position) { return mBooks.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = LayoutInflater.from(mContext).inflate(R.layout.book_item, parent, false); } ImageView cover = (ImageView) convertView.findViewById(R.id.book_cover); TextView title = (TextView) convertView.findViewById(R.id.book_title); TextView author = (TextView) convertView.findViewById(R.id.book_author); Book book = mBooks.get(position); cover.setImageResource(book.getCover()); title.setText(book.getTitle()); author.setText(book.getAuthor()); return convertView; } }

        定义一个Book类封装每一本书籍,代码如下:

public class Book { private final int mCover; private final String mTitle; private final String mAuthor; public Book(int cover, String title, String Author) { this.mCover = cover; this.mTitle = title; this.mAuthor = Author; } public int getCover() { return mCover; } public String getTitle() { return mTitle; } public String getAuthor() { return mAuthor; } }

        在res创建三个文件,第一个文件叫做book_item,创建在layout文件夹中,代码如下:

        其中default_bookcover等是当没有传入数据时的默认展示。

        第二个文件和第三个文件我放在xml文件夹中,第二个文件叫做book_cover,代码如下:

        第三个文件叫做book_title,代码如下:

        至此完成。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3