安卓天天练练(十)ListView
ListView不能和ScrollView同时使用,因为它已经包含了滚动支持。
还有个Gallery
http://blog.csdn.net/dazlly/article/details/7863923
居然过期了。。。用HorizontalScrollView代替
- package com.narumi.android_12_1;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemClickListener;
- import android.widget.AdapterView.OnItemSelectedListener;
- import android.widget.BaseAdapter;
- import android.widget.HorizontalScrollView;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.ListView;
- import android.widget.TextView;
- public class MainActivity extends Activity {
- //所有图片
- int [] drawableIds = {
- R.drawable.andy,R.drawable.bill,R.drawable.edgar,R.drawable.linus,R.drawable.turing
- };
- int [] msgIds= {
- R.string.andy,R.string.bill,R.string.edgar,R.string.linus,R.string.turing
- };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- ListView lv = (ListView)findViewById(R.id.ListView01);
- BaseAdapter ba = new BaseAdapter() {
- @Override
- public View getView(int arg0, View arg1, ViewGroup arg2) {
- // TODO Auto-generated method stub
- LinearLayout ll=new LinearLayout(MainActivity.this);
- ll.setOrientation(LinearLayout.HORIZONTAL);
- ll.setPadding(5, 5, 5, 5);
- ImageView ii = new ImageView(MainActivity.this);
- ii.setImageDrawable(getResources().getDrawable(drawableIds[arg0], getTheme()));
- ii.setScaleType(ImageView.ScaleType.FIT_XY);
- ii.setLayoutParams(new HorizontalScrollView.LayoutParams(100,98));
- ll.addView(ii);
- TextView tv=new TextView(MainActivity.this);
- tv.setText(getResources().getText(msgIds[arg0]));
- tv.setTextSize(24);
- tv.setTextColor(MainActivity.this.getResources().getColor(R.color.white));
- tv.setPadding(5, 5, 5, 5);
- tv.setGravity(HorizontalScrollView.FOCUS_LEFT);
- ll.addView(tv);
- return ll;
- }
- @Override
- public long getItemId(int arg0) {
- // TODO Auto-generated method stub
- return 0;
- }
- @Override
- public Object getItem(int arg0) {
- // TODO Auto-generated method stub
- return null;
- }
- @Override
- public int getCount() {
- // TODO Auto-generated method stub
- return 5;
- }
- };
- lv.setAdapter(ba);
- lv.setOnItemSelectedListener(
- new OnItemSelectedListener(){
- @Override
- public void onItemSelected(AdapterView<?> arg0, View arg1,
- int arg2, long arg3) {
- // TODO Auto-generated method stub
- TextView tView=(TextView)findViewById(R.id.TextView01);
- LinearLayout llLayout=(LinearLayout)arg1;
- TextView tvn=(TextView)llLayout.getChildAt(1);
- StringBuilder sb=new StringBuilder();
- sb.append(getResources().getText(R.string.ys));
- sb.append(".");
- sb.append(tvn.getText());
- String stemp=sb.toString();
- tView.setText(stemp.split("\\n")[0]);
- }
- @Override
- public void onNothingSelected(AdapterView<?> parent) {
- // TODO Auto-generated method stub
- }
- }
- );
- lv.setOnItemClickListener(
- new OnItemClickListener(){
- @Override
- public void onItemClick(AdapterView<?> arg0, View arg1,
- int arg2, long arg3) {
- // TODO Auto-generated method stub
- TextView tView=(TextView)findViewById(R.id.TextView01);
- LinearLayout llLayout=(LinearLayout)arg1;
- TextView tvn=(TextView)llLayout.getChildAt(1);
- StringBuilder sb=new StringBuilder();
- sb.append(getResources().getText(R.string.ys));
- sb.append(".");
- sb.append(tvn.getText());
- String stemp=sb.toString();
- tView.setText(stemp.split("\\n")[0]);
- }
- }
- );
- }
- }
自己P了五张图
图灵小朋友真萌 O(∩_∩)O
由于使用了安卓自带控件,布局文件很简单
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:background="@color/black"
- android:orientation="vertical"
- tools:context="com.narumi.android_12_1.MainActivity" >
- <TextView
- android:id="@+id/TextView01"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:textSize="24sp"
- android:textColor="@color/white"
- android:text="@string/hello"
- />
- <ListView
- android:id="@+id/ListView01"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:background="@color/black"
- android:choiceMode="singleChoice" />
- </LinearLayout>
建立color.xml的时候要注意类型是Color List,下一步的时候可以填生成路径,直接把\color改成 \values
- <color name="red">#fd8d8d</color>
- <color name="green">#9cfda3</color>
- <color name="blue">#8d9dfd</color>
- <color name="white">#ffffff</color>
- <color name="black">#000000</color>
- <color name="gray">#050505</color>
strings一般原来就有
- <string name="hello">您选择了</string>
- <string name="app_name">ListViewExample</string>
- <string name="andy">Andy Rubin \nAndroid的创造者</string>
- <string name="bill">Bill Joy \nJava创造者之一</string>
- <string name="edgar">Edgr F. Codd \n关系数据库之父</string>
- <string name="linus">Linus Torvalds \nLinux之父</string>
- <string name="turing">Turing Alan \nIT的祖师爷</string>
- <string name="ys">您选择了</string>
此例的效果也就是点一行会再顶部显示与这行同样的信息,java代码有点多有点乱,貌似已经使得HorizontalScrollView与ListView冲突了,待修改(Gallery有毛线用啊)。
安卓天天练练(十)ListView的更多相关文章
- 安卓天天练练(十五)改造BasicSyncAdapter
谷歌的官方示例BasicSyncAdapter是Android Studio工程, 把它依样画葫芦到Eclipse上,然后改造成我需要的样式. 看官方示例源码的时候,看到EntryListActivi ...
- 安卓天天练练(十一)用list绑数据
之前在练练ListView的时候就有个 BaseAdapter ba = new BaseAdapter() { 用Adapter来绑数据的方法,该方法中 LinearLayout ll=new Li ...
- 安卓天天练练(五)CompoundButton
ToggleButton 让我想起了从前jQuery还没有取消toggle方法时是怎么偷懒的.. 注意: 如果LinearLayout,与RelativeLayout不同,必须有orientation ...
- 安卓天天练练(四)drawable state 属性
今天又作茧自缚(item 写成 itme ╮(╯▽╰)╭ elipse还自动闭合了标签,来回查查查看报错,为啥点击无效呢!) 真欠抽,怪不得上班地铁上被个sb踢到脚趾头(目测有可能是同家公司的..同站 ...
- 安卓天天练练(三)常用组件Toast
要写几句java package com.narumi.android_7_2; import android.app.Activity; import android.os.Bundle; impo ...
- 程序员带你学习安卓开发,十天快速入-对比C#学习java语法
关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...
- My安卓知识2--使用listview绑定sqlite中的数据
我想在我的安卓项目中实现一个这样的功能,读取sqlite数据库中的数据并显示到某个页面的listview控件中. 首先,我建立了一个Service类,来实现对数据库的各种操作,然后在这个类中添加对数据 ...
- 安卓开发ScrollView嵌套ListView只显示一行
在用列表控件做一个“更多功能”的界面的时候 <?xml version="1.0" encoding="utf-8"?> <ScrollVie ...
- WPF入门教程系列二十——ListView示例(二)
第四步.WPF后台逻辑代码编写 在后台用Entity Framework 6.1的Code First方式获取数据库中的数据.同时,在“刷新”按钮的方法中进行数据绑定.操作步骤如下: 1) 在“刷新 ...
随机推荐
- 最简单的自定义适配器adapter
下面是一个非常简单的自定义适配器的总体源码,从这个源码入门,就可以慢慢学会适配器了 适配器的作用: 完成数据和界面控件的绑定,把数据绑定到界面的现实控件条目上(对于listView,应该是listVi ...
- Regular Expressions in Grep Command with 10 Examples --reference
Regular expressions are used to search and manipulate the text, based on the patterns. Most of the L ...
- magic_quotes_runtime(魔术引号开关)
我们可以通过以下代码来探测php环境中magic_quotes_runtime是否开启: magic_runtime.php 源代码如下: <?php //当magic_quotes_runti ...
- iOS中保证线程安全的几种方式与性能对比
来源:景铭巴巴 链接:http://www.jianshu.com/p/938d68ed832c 一.前言 前段时间看了几个开源项目,发现他们保持线程同步的方式各不相同,有@synchronized. ...
- 给自己取了个英文名-Jamy Cai,哈哈~~
给自己取了个英文名:Jamy Cai, 同时开始启用新邮箱:Jamycai@outlook.com ~~
- Linux下搭建Oracle11g RAC(8)----创建ASM磁盘组
以grid用户创建ASM磁盘组,创建的ASM磁盘组为下一步创建数据库提供存储. ① grid用户登录图形界面,执行asmca命令来创建磁盘组: ② 进入ASMCA配置界面后,单击Create,创建新的 ...
- Big Data 應用:第二季(4~6月)台湾地区Game APP 变动分布趋势图
图表简介: 该示意图表示了台湾地区第二季内所有Game APP类别的分布情形,经由该图表我们可以快速的了解到在这三个月内,哪类型的APP是很稳定:抑或者哪类型的APP是非常不稳定的. 名词解释: 类别 ...
- 26、Jquery 基础
什么是Jquery? Jquery是一套Javascript脚本库. 使用时需要先下载下来,并引用到项目中. 下载地址:http://jquery.com/download/ 目前jquery分为 1 ...
- 【转】char码值对应列表大全
char("56") A char("97") a [转]char码值对应列表大全 Char("0") 为0的字符Char("1& ...
- [DEncrypt] HashEncode--哈希加密帮助类 (转载)
点击下载 HashEncode.zip 这个类是关于加密,解密的操作,文件的一些高级操作1.HashEncode 得到随机哈希加密字符串2.HashEncode 得到一个随机数值3.HashEncod ...