android ListView_Tiger
xml设计
<?xml version="1.0"?> -<LinearLayout tools:context=".MainActivity" android:paddingTop="@dimen/activity_vertical_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:orientation="horizontal" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android"> <ListView android:id="@+id/lv_tiger1" android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="1"/> <ListView android:id="@+id/lv_tiger2" android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="1"/> <ListView android:id="@+id/lv_tiger3" android:layout_height="wrap_content" android:layout_width="0dp" android:layout_weight="1"/> </LinearLayout>
Main java
package com.itheima.tiger; import java.util.Random; import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView; public class MainActivity extends Activity { private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = this;
//1.找到控件
ListView lv_tiger1 = (ListView) findViewById(R.id.lv_tiger1);
ListView lv_tiger2 = (ListView) findViewById(R.id.lv_tiger2);
ListView lv_tiger3 = (ListView) findViewById(R.id.lv_tiger3);
//创建adapter设置给listviev
TigerAdapter tigerAdapter = new TigerAdapter();
lv_tiger1.setAdapter(tigerAdapter);
lv_tiger2.setAdapter(tigerAdapter);
lv_tiger3.setAdapter(tigerAdapter);
} class TigerAdapter extends BaseAdapter{ @Override
public int getCount() {
return 500;
} @Override
public Object getItem(int position) {
return null;
} @Override
public long getItemId(int position) {
return 0;
} @Override
public View getView(int position, View convertView, ViewGroup parent) { TextView view = null;
//复用convertView
if(convertView != null){
view = (TextView) convertView;
}else{
view = new TextView(mContext);
} Random random = new Random();
int number = random.nextInt(100);
if(number <20){
view.setTextColor(Color.parseColor("#ff00ff"));//设置textview文字颜色
view.setText("桃");
}else if(number < 40){
view.setTextColor(Color.YELLOW);//设置textview文字颜色
view.setText("杏");
}else if(number <60){
view.setTextColor(Color.GREEN);//设置textview文字颜色
view.setText("梨");
}else if(number <80){
view.setTextColor(Color.RED);//设置textview文字颜色
view.setText("枣");
}else {
view.setTextColor(Color.parseColor("#666666"));//设置textview文字颜色
view.setText("瓜");
} view.setTextSize(58); return view;
} }
}
老师笔记
#7 listview---Tiger
javaweb mvc
m....mode....javabean
v....view....jsp
c....control...servlet
listview mvc
m....mode....Bean
v....view....listview
c....control...adapter
#8 listview显示原理 (了解)
1.要考虑listview显示的条目数 getcount
2.考虑listview每个条目显示的内容 getview
3.考虑每个item的高度,因为屏幕的多样化
4.还要考虑listview的滑动,监听一个旧的条目消失,一个新的条目显示。
android ListView_Tiger的更多相关文章
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记
以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- Android Studio 多个编译环境配置 多渠道打包 APK输出配置
看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...
- JS调用Android、Ios原生控件
在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...
随机推荐
- 汉化Eclipse+配色方法(官方语言包)
一. 汉化方法: 1.Eclipse版本查询:安装目录readme,查版本号;参照查代号如下表: 代号 平台版本 项目 主要版本发行日期 SR1发行日期 SR2发行日期 N/A 3.0 [1] N/A ...
- Cocos2d-html5 笔记2: director
今天看了cocos2d-html5代码里面的Director. 最简单的框架 先抛开cocos2d的框架不说,对于一个游戏来说,基本的逻辑框架还是很简单的,首先初始化的时候注册mouse, touch ...
- 关于CQRS(老外经典好文)
CQRS means Command Query Responsibility Segregation. Many people think that CQRS is an entire archit ...
- 条件判断语句if
一.简单if语句的格式 if 条件表达式 then 语句1 语句2 ...... fi 二.if else语句的格式 if 条件测试 then 语句块1 else 语句块2 fi 三.if elif ...
- docker镜像的操作
在主机上列出镜像 sudo docker images 每从Docker Hub下载一个镜像就会启动相对的创建一个容器 在镜像列表中看到三个重要的东西: 来自什么镜像源,例如ubuntu 每个镜像都有 ...
- Design Mode 之 行为模式
行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 看看这11中模式的关系,大致可分为四类:(1) ...
- 关于mysql下hibernate实体类字段与数据库关键字冲突的问题
好久没写了,都忘记博客了,趁着现在还在公司,写的东西是经过验证的,不是在家凭记忆力写的,正确率有保障,就说说最近遇到的一件事情吧. 以前一直用的oracle数据库,这次项目我负责的模块所在的系统是用的 ...
- 【Android Studio使用教程4】Android Studio下载
鉴于Android官网上下载很慢,Android Studio等已在网盘分享:Android Studio 网盘下载路径: windows:http://yunpan.cn/cfTszP2wrJxdD ...
- Hadoop学习笔记(2) ——解读Hello World
Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...
- Oracle基础(十) DML数据操作
一.DML数据操作语言 主要用于检索.插入和修改数据库信息.它是最常用的SQL命令,如INSERT(插入).UPDATE(更新).SELECT(选择).DELETE(删除). 1.INSERT插入语句 ...