我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android Spinner和GridView组件怎么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android Spinner和GridView组件怎么用

这篇文章将为大家详细讲解有关Android Spinner和GridView组件怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一. 概述:

        Spinner是我们所熟悉的下拉框列表。与ListView类似,我们必须为Spinner对象指定一个Adapter。我们从Spinner的简单用法开始讲述。

Android Spinner和GridView组件怎么用

二. 实现

MainActivity.java

Android Spinner和GridView组件怎么用

package com.example.demo03_29; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle;import android.view.View;import android.widget.Adapter;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Spinner;import android.widget.TextView; public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {    TextView choice;    ArrayAdapter<CharSequence> adapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         choice=(TextView) this.findViewById(R.id.choice);         Spinner spinner=(Spinner)this.findViewById(R.id.sp1);        adapter=ArrayAdapter.createFromResource(this, R.array.habit,                android.R.layout.simple_spinner_item);        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);        spinner.setAdapter(adapter);        spinner.setOnItemSelectedListener(this);    }      @Override    public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {        choice.setText(adapter.getItem(i));    }     @Override    public void onNothingSelected(AdapterView<?> adapterView) {     }}

在values包下的  string.xml

<resources>    <string name="app_name">Demo03-29</string><string-array name="habit">    <item>10公里夜跑</item>    <item>爬山</item>    <item>游泳</item>    <item>吃饭</item>    <item>打代码</item></string-array></resources>

activity_main.xml 

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity">     <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="你喜欢的运动"/>        <Spinner            android:id="@+id/sp1"            android:layout_width="match_parent"            android:layout_height="wrap_content"/>    </LinearLayout>     <View        android:layout_width="match_parent"        android:layout_height="30dp"        android:background="#05ADF8"/>     <TextView        android:id="@+id/choice"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="center"        /></LinearLayout>

sipnner_down.xml 

<?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="horizontal">     <ImageView        android:id="@+id/p01"        android:layout_width="64dp"        android:layout_height="64dp"        />    <LinearLayout        android:layout_width="match_parent"        android:layout_height="match_parent"        android:orientation="vertical">    <TextView        android:id="@+id/t1"        android:layout_width="match_parent"        android:layout_height="wrap_content"/>    <TextView        android:id="@+id/t2"        android:layout_width="match_parent"        android:layout_height="wrap_content"/>    </LinearLayout> </LinearLayout>

         这个布局比较简单,就是在LinearLayout中放置一个LinearLayout、一个分隔组件用的View和一个显示所选结果的TextView。在其中嵌套的LinearLayout中放置一个用于提示用的TextView和下拉框Spinner。

三. 美化

Android Spinner和GridView组件怎么用

MyAdapter.java 

package com.example.demo03_29; import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.TextView; import androidx.annotation.NonNull; public class MyArrayApater extends ArrayAdapter {    private LayoutInflater minflater;    String[] titles;    String[] desc={            "集成工具",            "高速保存,随时存储",            "优质资源,尽在迅雷",            "集成开发工具",            "学习神器"    };    int[] photos={R.drawable.p1,R.drawable.p2,R.drawable.p3,R.drawable.p4,R.drawable.p5};     public MyArrayApater(@NonNull Context context, int resource, CharSequence[] objects) {        super(context, resource, objects);         minflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);        titles=context.getResources().getStringArray(R.array.habit);    }    @Override    public int getCount(){        return titles.length;    }    @Override    public View getDropDownView(int position, View convertView, ViewGroup parent){        View v;        v=minflater.inflate(R.layout.spinner_down,parent,false);         ImageView iv=(ImageView)v.findViewById(R.id.p01);        iv.setImageResource(photos[position]);        TextView tv01=(TextView) v.findViewById(R.id.t1);        tv01.setText(titles[position]);        TextView tv02=(TextView) v.findViewById(R.id.t2);        tv02.setText(desc[position]);        return v;    }}

修改 MainActivity.java

Android Spinner和GridView组件怎么用

四. GridView

       GridView以二维表格的方式显示数据,若数据比较多,该组件将提供垂直滚动条。我们用一个列子来说明GridView的使用方法。

activity_main.xml 

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity">     <GridView        android:id="@+id/gr1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:numColumns="4"        /> </LinearLayout>

 ImgeAdapter.java

package com.example.demo0330; import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView; public class ImageAdapter extends BaseAdapter {    private int[] images={            R.drawable.p1, R.drawable.p2, R.drawable.p3, R.drawable.p4,            R.drawable.p1, R.drawable.p2, R.drawable.p3, R.drawable.p4,            R.drawable.p1, R.drawable.p2, R.drawable.p3, R.drawable.p4,            R.drawable.p1, R.drawable.p2, R.drawable.p3, R.drawable.p4,            R.drawable.p1, R.drawable.p2, R.drawable.p3, R.drawable.p4,     };    private Context context;    public ImageAdapter(Context context){        this.context=context;    }      @Override    public int getCount() {        return images.length;    }     @Override    public Object getItem(int position) {        return images[position];    }     @Override    public long getItemId(int position) {        return position;    }     @Override    public View getView(int position, View convertView, ViewGroup parent) {        ImageView imageView;        if (convertView==null){            imageView=new ImageView(context);            int width= GridView.LayoutParams.MATCH_PARENT;            int heght= GridView.LayoutParams.MATCH_PARENT;            imageView.setLayoutParams(new ViewGroup.LayoutParams(width,heght));            imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);        }else{            imageView=(ImageView) convertView;        }        imageView.setImageResource(images[position]);        return imageView;    }}

MainActivity.java

package com.example.demo0330; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.GridView;import android.widget.Toast; public class MainActivity extends AppCompatActivity {     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         GridView gridView=(GridView) findViewById(R.id.gr1);        gridView.setAdapter(new ImageAdapter(this));        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {                Toast.makeText(MainActivity.this,"现在点击的是位置在"+(position+1)+"张照片",Toast.LENGTH_LONG).show();            }        });    }}

效果图:

Android Spinner和GridView组件怎么用

关于“Android Spinner和GridView组件怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android Spinner和GridView组件怎么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android Spinner和GridView组件怎么用

这篇文章将为大家详细讲解有关Android Spinner和GridView组件怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一. 概述: Spinner是我们所熟悉的下拉框列表。与L
2023-06-29

Android中如何使用Spinner组件

今天就跟大家聊聊有关Android中如何使用Spinner组件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Android Spinner 组件Spinner: 下拉组件使用事项:布
2023-05-30

Android编程开发之Spinner组件用法

本文实例讲述了Android编程开发之Spinner组件用法。分享给大家供大家参考,具体如下: Spinner组件组要用显示一个下拉列表,在使用中需要用到适配器Adapter,下面是一个该组件的使用示例 首先是布局文件main.xml:
2022-06-06

Android 组件Gallery和GridView示例讲解

Android Gallery和GridView组件: Gallery 画廊Gallery是一个内部元素可以水平滚动,并且可以把当前选择的子元素定位在它中心的布局组件。我们还是直接看看例子的运行效果。下面上代码,相关解释都放在代码里了。1、
2022-06-06

怎么在Android中使用Spinner控件

今天就跟大家聊聊有关怎么在Android中使用Spinner控件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、使用方法1、在layout中创建Spinner控件
2023-05-30

android中spinner怎么定义和使用

Spinner是一个Android控件,可以用来显示下拉列表。下面是Spinner的定义和使用方法:1. 在XML布局文件中定义Spinner:android:id="@+id/spinner"android:layout_width="w
2023-10-18

android中spinner怎么使用

要使用Spinner控件,您需要在布局文件中添加Spinner标签,并在java代码中找到该Spinner控件并设置其适配器。在布局文件中添加Spinner标签。例如,在activity_main.xml文件中添加以下代码:
android中spinner怎么使用
2024-02-29

Android控件Spinner的用法是什么

Spinner是Android平台上的一种下拉列表控件,用于显示可选项列表,并允许用户从中选择一个选项。使用Spinner的步骤如下:在布局文件中添加Spinner控件:在代码中获取Spinner的实例:Spinner spinner =
2023-10-22

Android中gridview控件的用法是什么

在Android中,GridView是一种可用于显示数据的布局控件,它以网格的形式展示数据项。GridView通过Adapter来提供数据,并自动根据列数和行数来排列和展示数据项。GridView的用法如下:1. 在布局文件中定义GridV
2023-10-20

Android 中ListView和GridView赋值错位怎么办

小编给大家分享一下Android 中ListView和GridView赋值错位怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!ListView和GridView多次调用getView的bug,导致赋值错位最近总遇到写G
2023-05-30

vs中gridview控件怎么使用

在VS中使用GridView控件有以下几个步骤:1. 在设计视图中,打开工具箱,找到GridView控件,将其拖动到窗体上。2. 单击GridView控件,可以在属性窗口中设置GridView的属性,如列的数量、列的标题、绑定数据源等。3.
2023-08-20

jQuery UI旋转器部件Spinner Widget怎么使用

这篇文章主要介绍“jQuery UI旋转器部件Spinner Widget怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“jQuery UI旋转器部件Spinner Widget怎么使用”文章
2023-06-30

Android组件LinearLayout怎么使用

这篇文章主要介绍“Android组件LinearLayout怎么使用”,在日常操作中,相信很多人在Android组件LinearLayout怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android
2023-06-29

android viewpager组件怎么使用

Android中的ViewPager是一种用于显示多个页面的组件,可以通过滑动来切换页面。下面是使用ViewPager的一般步骤:1. 在布局文件中添加ViewPager组件:```xmlandroid:id="@+id/viewPager
2023-10-08

Android组件ScrollView怎么使用

今天小编给大家分享一下Android组件ScrollView怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。概述
2023-06-29

Android Jetpack组件Lifecycle怎么使用

本文小编为大家详细介绍“Android Jetpack组件Lifecycle怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android Jetpack组件Lifecycle怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢
2023-07-05

Android中ContentProvider组件怎么使用

要使用ContentProvider组件,需要进行以下步骤:1. 创建自定义ContentProvider类,继承自android.content.ContentProvider,并实现必要的方法。```javapublic class M
2023-08-26

Android中Activity组件怎么使用

今天小编给大家分享一下Android中Activity组件怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Activi
2023-06-26

Android的AdapterView组件怎么使用

本篇内容介绍了“Android的AdapterView组件怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!概述 在Andr
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录