`
wenxin2009
  • 浏览: 319927 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android中GrideView例子

 
阅读更多

以下为GrideView例子:





 

/**
 * 我的 - 认证信息
 * Created by dwen on 2018/4/4.
 */

public class MyRenzhengActivity extends BaseActivity {

    private List<RenZhengBean> renZhengBeans = new ArrayList<>();
    private GridView gridView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my_renzheng);
        gridView = (GridView)findViewById(R.id.my_renzheng_gridV);
        initUI();
        initRenZhengList();
        actionAdapter();
    }

    /**
     * 初始化UI
     */
    private void initUI(){
        TextView textView = (TextView) this.findViewById(R.id.top_title2);
        textView.setText("认证信息");
        ImageView imageView = (ImageView)this.findViewById(R.id.jiantouImg2);
        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }

    private void initRenZhengList(){
        RenZhengBean bean = new RenZhengBean();
        //TODO 判断是否认证
        bean.setImgTag(R.mipmap.no_shiming);
        bean.setName("实名认证");
        bean.setDesc("个人信息审核认证");
        bean.setType(RenzhengType.SHIMING.key);
        renZhengBeans.add(bean);

        RenZhengBean bean2 = new RenZhengBean();
        //TODO 判断是否认证
        bean2.setImgTag(R.mipmap.yes_qiye);
        bean2.setName("企业认证");
        bean2.setDesc("企业资质审核认证");
        bean2.setType(RenzhengType.QIYE.key);
        renZhengBeans.add(bean2);

        RenZhengBean bean3 = new RenZhengBean();
        //TODO 判断是否认证
        bean3.setImgTag(R.mipmap.yes_dangbao);
        bean3.setName("担保认证");
        bean3.setDesc("担保交易认证");
        bean3.setType(RenzhengType.DANGBAO.key);
        renZhengBeans.add(bean3);

    }

    /**
     * Adapter
     */
    private void actionAdapter(){
        MyRenzhengAdapter adapter = new MyRenzhengAdapter(renZhengBeans,MyRenzhengActivity.this);
        gridView.setAdapter(adapter);
    }

}

 

/**
 * 我的认证
 * Created by dwen on 2018/4/4.
 */

public class MyRenzhengAdapter extends BaseAdapter {

    private List<RenZhengBean> list = new ArrayList<>();
    Context context;

    public MyRenzhengAdapter(List<RenZhengBean> list, Context context) {
        this.list = list;
        this.context = context;
    }

    @Override
    public int getCount() {
        return this.list.size();
    }

    @Override
    public Object getItem(int position) {
        return this.list.get(position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        final ViewHolder holder;
        final RenZhengBean bean = this.list.get(position);
        if (null == convertView){
            convertView = LayoutInflater.from(context).inflate(R.layout.item_my_renzheng,null);
            holder = new ViewHolder(convertView);
            holder.img = convertView.findViewById(R.id.item_renzheng_img);
            holder.txtName = convertView.findViewById(R.id.item_renzheng_txt);
            holder.txtDesc = convertView.findViewById(R.id.item_renzheng_txt2);
            holder.linearLayout = convertView.findViewById(R.id.my_renzheng_linear);
            holder.linearLayout.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    if (bean.getType().equals(RenzhengType.DANGBAO.key)){
                        MmtUtils.SwitchActivity(context, MyDangbaoActivity.class,null);
                    }else if(bean.getType().equals(RenzhengType.QIYE)){

                    }else if (bean.getType().equals(RenzhengType.SHIMING)){

                    }

                }
            });
            //set value
            holder.img.setImageResource(bean.getImgTag());
            holder.txtName.setText(bean.getName());
            holder.txtDesc.setText(bean.getDesc());
            convertView.setTag(holder);
        }else{
            //直接通过holder获取子控件,不必使用findviewbyid,加快了 UI 的响应速度
            Log.i("bean.getName()--",bean.getName());
            holder = (ViewHolder)convertView.getTag();
            holder.img.setImageResource(bean.getImgTag());
            holder.txtName.setText(bean.getName());
            holder.txtDesc.setText(bean.getDesc());

        }

        return convertView;
    }

    /**
     * ViewHolder save view and speed UI
     */
    static class ViewHolder{
        ImageView img;
        TextView txtName,txtDesc;
        LinearLayout linearLayout;

        public ViewHolder() {

        }

        public ViewHolder(View view) {

        }
    }
}

 

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

    <include layout="@layout/title2"></include>

    <GridView
        android:id="@+id/my_renzheng_gridV"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="15dp"
        android:columnWidth="153dp"
        android:stretchMode="spacingWidthUniform"
        android:verticalSpacing="15dp"
        android:numColumns="2">

    </GridView>
</LinearLayout>

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">
    <LinearLayout
        android:id="@+id/my_renzheng_linear"
        android:layout_width="153dp"
        android:layout_height="170dp"
        android:orientation="vertical"
        android:background="@drawable/shape_corner4">
        <ImageView
            android:id="@+id/item_renzheng_img"
            android:layout_width="43dp"
            android:layout_height="50dp"
            android:src="@mipmap/no_dangbao"
            android:layout_gravity="center"
            android:layout_marginTop="25dp"/>
        <TextView
            android:id="@+id/item_renzheng_txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp"
            android:textColor="@color/text_color"
            android:text="实名认证"
            android:layout_gravity="center"
            android:layout_marginTop="15dp"/>
        <TextView
            android:id="@+id/item_renzheng_txt2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="13dp"
            android:textColor="@color/default_bt_tx_color"
            android:text="个人信息审核认证"
            android:layout_gravity="center"
            android:layout_marginTop="15dp"/>
    </LinearLayout>
</LinearLayout>

 

  • 大小: 25.1 KB
分享到:
评论

相关推荐

    Android GridView使用例子

    在这个"Android GridView使用例子"中,我们将深入探讨如何有效地利用GridView来构建动态且交互性强的用户界面。 1. **GridView的基本概念** GridView继承自AbsListView,它可以显示一列或多列水平对齐的项目。每个...

    android Gridview分页实现

    注意,这个例子中的数据获取是异步进行的,以防止阻塞UI线程。在实际项目中,你可能还需要考虑错误处理、数据缓存等细节。同时,优化`getView()`方法的性能也很重要,比如使用convertView来复用视图,避免不必要的...

    android的GridView底部加载更多例子

    本示例"android的GridView底部加载更多例子"探讨了如何在GridView中实现无限滚动加载功能,即用户无需点击加载更多按钮,只需上拉屏幕,内容就会自动加载。这种特性极大地提升了用户体验,尤其是在处理大量数据时。 ...

    Android之GridView视图实现

    在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似照片墙、菜单选项或图标排列等界面。在本教程中,我们将深入探讨如何实现一个基本的GridView视图,并通过...

    android的listview和gridView的例子

    在Android开发中,ListView和GridView是两种非常常用的控件,它们用于展示大量数据,并且具有良好的滚动性能。这两个组件在用户界面设计中扮演着至关重要的角色,尤其在展示列表或网格形式的数据时。本篇文章将深入...

    GridView的小例子

    在这个小例子中,我们将可能使用到BaseAdapter,因为它允许我们自定义视图和数据的绑定方式,灵活性更高。 第一种添加数据的方法是通过继承BaseAdapter来实现。你需要重写其中的几个关键方法,如`getCount()`返回...

    Android中GridView拖拽的效果!

    最近看到联想,摩托罗拉等,手机launcher中有个效果,进入mainmenu后,里面的应用程序的图标可以拖来拖去,所以我也参照网上给的代码,写了一个例子。还是很有趣的,实现的流畅度没有人家的那么好,我只是模仿这种...

    Android Studio —— GridView(模仿魅蓝手机下拉窗口)

    在这个例子中,我们可能会创建一个自定义的`GridViewAdapter`,并重写`getView()`方法来定制每个单元格的视图。同时,别忘了在`GridView`中设置适配器: ```java GridView gridView = findViewById(R.id.grid_view)...

    Android GridView实现一行显示并左右滚动

    在这个例子中,我们设置了GridView的列数为1,使其在HorizontalScrollView内以单行显示。 为了让用户选中某项后,再次打开应用时能直接定位到该选中项,我们需要保存用户的选中状态。这可以通过SharedPreferences...

    gridview添加删除例子

    在这个"gridview添加删除例子"中,我们将深入探讨如何动态地在GridView中添加和删除数据。 首先,GridView的添加功能通常涉及到后台数据源的管理。在ASP.NET中,可以使用诸如SqlDataSource或EntityDataSource这样的...

    android GridView实现支付宝拖动例子

    android GridView实现支付宝拖动例子

    Android GridView + ViewFlipper布局界面,模仿“机锋市场.zip

    在“机锋市场”的例子中,可能每个单元格展示一个应用图标、名称和简短描述。 接下来是ViewFlipper,它是Android中的一个动画容器,它可以显示并切换多个子视图。ViewFlipper常用于实现翻页效果,比如滑动浏览图片...

    android GridView长按拖动,删除

    这个例子就是关于如何在Android的GridView中实现这些高级功能。 首先,让我们详细了解一下GridView的基本概念。GridView继承自AbsListView,它会将数据集(通常来自Adapter)渲染成一个二维的、可滚动的视图。每个...

    Android之GridView(博客源码)

    在Android开发中,GridView是一种非常常见的布局控件,它能够以网格的形式展示数据,通常用于创建类似相册、菜单或图标列表等界面。本篇博客源码深入探讨了如何在Android应用中有效地使用GridView,包括如何显示Grid...

    android ListView,GridView 高效异步加载图片例子

    ListView和GridView里加载图片,有很多种实现方式,但是如果用不好很容易导致各种问题,比如内存溢出、图片错位、体验效果差等问题。 现在我将开源项目GreenDroid里异步加载图片代码提取出来做成一个jar包。有效...

    Android GridView拖动效果

    在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示数据,通常用于...在提供的Android例子源码仿Launcher的GridView拖动中,你可以找到完整的实现示例,进一步学习和理解这一功能的细节。

    andriod gridview例子

    在这个例子中,“andriod gridview例子”是一个可以直接导入并运行的Android工程,旨在帮助开发者理解如何在实际项目中使用GridView。 GridView的基本用法: 1. **布局定义**:在XML布局文件中,你需要添加一个`...

    android_GridView

    在这个例子中,设置为"columnWidth"意味着当数据填充不满一列时,列宽会自动扩展以填充剩余空间。 4. `android:verticalSpacing="10dp"` 和 `android:horizontalSpacing="10dp"`:分别设置行间和列间的间距,10dp...

    android中GridView的用法示例

    在这个例子中,每个单元格包含一个`ImageView`和一个`TextView`。`ImageView`用于显示图片,`TextView`则用于显示文本信息。`RelativeLayout`作为容器,允许图像和文本居中对齐。 最后,Java源代码部分通常涉及到`...

Global site tag (gtag.js) - Google Analytics