Android大作业(一) |
您所在的位置:网站首页 › 小说系统界面怎么写 › Android大作业(一) |
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 |