- 浏览: 334971 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
secally:
楼主可以上传个例子吗,谢谢,我咋跑不起来,,eclipse不是 ...
Android自动打包、签名、优化、上传ANT脚本 -
secally:
请问下执行命令是啥,ant release 还是?麻烦指教谢谢 ...
Android自动打包、签名、优化、上传ANT脚本 -
trp1022:
好牛啊
程序员不能不通文史 -
sunny78117:
谢谢,写得好
Android bitmap优化 -
futurebp:
这是什么类型的脚本啊?
Android自动打包、签名、优化、上传ANT脚本
以下内容Sinfrancis版权所有,专注请注明来自 http://mdev.cc/dev
自定义布局需要哪些东西? 1、数据模型(数据) 2、显示数据的组件 3、重写BaseAdapter中的相关方法
如果list里面加入了如CheckBox之类的组件,需要将这些组件设置能不能聚焦,点击list item的时候才有聚焦的背景
数据模型代码:
package cc.androidos.layout; public class RSS { private String title; public RSS(String title) { this.title = title; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } @Override public String toString() { return title; } }
显示组件的布局代码:
<?xml version="1.0" encoding="utf-8"?> <TableLayout android:id="@+id/tablelist" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <TableRow android:id="@+id/TableRow01" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/TextView1" android:layout_width="200px" android:layout_height="wrap_content" android:text="TextView1"></TextView> <ImageButton android:id="@+id/ImageButton01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="80px"></ImageButton> </TableRow> </TableLayout>
这个Activity和重写BaseAdapter的代码:
package cc.androidos.layout; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app.ListActivity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Color; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.ListAdapter; import android.widget.Scroller; import android.widget.TextView; public class MyLayout extends ListActivity { //要被显示的数据模型 public static List<RSS> dataModel = new ArrayList<RSS>(); /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getListView().setSelector(getResources().getDrawable(R.drawable.icon)); //将组定义的List组件加入到当前的Activity中 setListAdapter(new MyListAdapter(getApplicationContext())); dataModel.add(new RSS("title 1")); dataModel.add(new RSS("title 2")); dataModel.add(new RSS("title 3")); dataModel.add(new RSS("title 4")); } /*自定义布局组件中用于显示数据的组件类**/ public class ViewHolder { TextView mTextView; ImageButton mIcon; } // 自定义的布局组件 public class MyListAdapter extends BaseAdapter { private LayoutInflater mInflater = null; private Bitmap mIcon1 = null; private Bitmap mIcon2 = null; private Context mcContext = null; public MyListAdapter(Context context) { this.mcContext = context; mInflater = LayoutInflater.from(this.mcContext); mIcon1 = BitmapFactory.decodeResource(mcContext.getResources(), R.drawable.delete); mIcon2 = BitmapFactory.decodeResource(mcContext.getResources(), R.drawable.delete); } @Override public int getCount() { return dataModel.size(); } @Override public Object getItem(int position) { return dataModel.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { String tag = "getView"; final ViewHolder holder; if (convertView == null) { //使用XML文件填充整个布局 convertView = mInflater.inflate(R.layout.list, null); holder = new ViewHolder();//生成存放数据的组件模型 holder.mTextView = (TextView) convertView .findViewById(R.id.TextView1); holder.mIcon = (ImageButton) convertView .findViewById(R.id.ImageButton01); convertView.setTag(holder);//将存放数据的组件模型加入到整个View视图中 } else { holder = (ViewHolder) convertView.getTag(); } Log.d(tag, "start get View....."); holder.mTextView.setText(dataModel.get(position).toString()); holder.mIcon.setImageBitmap((position & 1) == 1 ? mIcon1 : mIcon2); holder.mIcon.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) {//设置按钮点击事件 holder.mTextView.setBackgroundColor(Color.WHITE); holder.mIcon.setVisibility(View.VISIBLE); } }); return convertView; } } }这样自定义完成后,显示数据将会有一个图片和一个字符串放在ListActivity中每项中
评论
2 楼
yanglinglong1
2010-04-29
太谢谢你了,顶你,我刚学android打了你的练习之后,终于解决了困扰我的问题!!!
1 楼
heji
2009-11-16
学习学习!!好东西
发表评论
-
抓取Android WebView截屏
2011-08-19 21:33 7594一般使用setDrawingCacheEnabled(true ... -
Android bitmap优化
2011-08-11 17:02 5889直接使用ImageView显示 ... -
Android模拟器更改分辨率后 无法取得分辨率问题
2011-05-11 21:06 2791在PC上更改模拟器分辨率为480*800 (如果你的PC界面 ... -
获取屏幕硬件分辨率方法 收藏
2011-05-11 16:28 1880TextView tv=(TextVie ... -
Bytecode for the Dalvik VM
2011-05-10 22:35 1318http://www.netmite.com/android/ ... -
Android DEX反编译后部分代码解析
2011-05-10 22:07 3863一个private 方法 private Stri ... -
反编译并且修改Android APK包
2011-05-10 16:57 3060為了某個實驗的動機,我們評估反編譯 Android ... -
Android Ant编译时候进行混淆
2010-10-18 13:49 3804版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
自定义Ant Task
2010-09-13 17:58 2961版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自动打包、签名、优化、上传ANT脚本
2010-07-26 16:51 13930版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自定义含有CheckBox的Adapter遇到的问题
2010-06-23 13:48 4083版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
QR code类库
2010-06-03 23:11 2289Google code发现的好东西。 QR code 类库 ... -
Android QQ,一个WEBOS APP诞生!!(两个QQ对比!)
2010-04-10 12:05 1844请看这个大哥的言论 http://linuxtoy.or ... -
Android 、BlackBerry 文本对齐方式对比
2010-02-22 13:11 1774版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
教你如何开关Android的APN网络
2010-01-08 11:36 5970版权所有,转载请注明来自Mobile Developer (h ... -
史上最强NDK入门项目实战
2009-10-10 13:29 2661以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
使用TimerTask控制ProgressBar
2009-10-10 13:21 1043以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
重画Progressbar的进度
2009-10-10 13:15 1908以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
谈谈Android中文短信的实现
2009-10-10 13:13 2142似 乎Google在推出G1时 ... -
模拟器互发短信
2009-10-10 13:11 1256以下内容Sinfrancis版权所有,专注请注明来自 htt ...
相关推荐
主要介绍了WPF的ListView控件自定义布局的方法,结合实例形式分析了WPF中ListView控件的布局方法,需要的朋友可以参考下
安卓自定义list的listitem,item中添加图片,按钮等元素
支持自定义标题布局(Toolbar ...),内容布局(列表,文字)和底部布局(按钮,BottomAppBar) 底部布局自适应导航栏 只在类原生机器测试过,不保证支持国产定制系统 支持Activity形式的Dialog...
下面是我写的一种自定义的布局,复用性也比较的强。首先就是继承的listview的自定义view。 AutoListView.Java: package com.example.mic.testdemo.view; import android.annotation.TargetApi; import android....
一个二级列表,显示"child2Data1",用一个list对象保存所有的二级列表数据,自定义的ExpandListAdapter,获取二级列表对应的布局文件, 并将其各元素设置相应的属性,获取一级列表布局文件,设置相应元素属性。
上一篇中我们介绍了自定义实现BaseAdapter的普通实现布局,然而上一章也说了普通实现的方式效率会很低,而且对系统开销也很大,所以,那样的实现是为了让初学者能知道可以这样使用,在实际项目中不可能使用那种方式...
刚刚完成的一个控件:我起名叫做ListBar因为这个控件大体功能和List差不多.只不过不同的是这个控件 能在Item项里加入自己要显示的东东随意布局!基实也不算完成还有一些要优化的地方.功能上这只能算是 第一阶段的: ...
本文实例为大家分享了Android自定义ViewGroup实现流式布局的具体代码,供大家参考,具体内容如下 1.概述 本篇给大家带来一个实例,FlowLayout,什么是FlowLayout,我们常在App 的搜索界面看到热门搜索词,就是...
3、主要解决easyexcel(随意布局)左右布局,上下布局后,同一个Sheet多list会存在左右行抵掉的问题和大数据性能差的问题 4、使用本项目之前建议自己先用easyexcel的文档实现(官方地址:...
每一个activity都是一种布局效果,其中包括下拉刷新,上啦加载更多,actionBar,模仿手机联系人布局,自定义spinner布局的使用
:gear: 设定值您可以配置几个设置,以自定义事件列表窗口小部件在布局中的显示方式。 :people_holding_hands: 切换被邀请者选择是否或如何在布局中显示被邀请者。 您可以让被邀请者仅在悬停状态下显示(默认操作)...
自定义View在Android开发中是我们避免不了的,如果你需要写出漂亮的界面和一些特殊样式和功能的组件,你用安卓自带的布局来写是相当困难的,所以你就必须要用到自定义的View。但是许多朋友对于自定义View还是有点...
4.3.4 使用图片自定义项目符号 4.3.5 使列表变为段落 4.3.6 列表缩进排版 4.3.7 复杂列表的排版 4.4 表单设计 4.4.1 改变输入框及文本域样式 4.4.2 改变下拉列表样式 4.4.3 改变按钮样式 4.4.4 表单布局设计 4.4.5 ...
vue简单实现瀑布流布局的一种方式(vue瀑布流组件),供大家参考,具体内容如下 vue中的瀑布流布局组件 需求:图片容器宽度固定,高度根据图片自适应,图片一行不能排列时候,换行依次从左往右排列。(瀑布流概念) ...
这款自定义表单是唯一一个实现在IE中可视化设计,无须下载插件,能操作后台数据库的表单工具 1:基本控件(shape控件,spin控件,checkboxlist控件,radiolist控件,掩码输入,两listbox互选,用代码控制页签控件)2:...
View的布局显示方式有下面几种:线性布局(Linear Layout)、相对布局(Relative Layout)、表格布局(Table Layout)、网格视图(Grid View)、标签布局(Tab Layout)、列表视图(List View)、绝对布局...
1准备图片 2建立shape_progress.xml用来控制下边两个布局的属性 3建立布局layout_footer_list....5建立自定义布局类实现自定义布局的功能 6建立主布局 7在MianActivity中添加适配器(内部类) 8为自定义控件添加响应处理
Tab按钮为自定义实现,通过管理布局实现Tab按钮的位置。 Page为stackedWidget中的Page,通过动态创建QWidget的方式,将page添加进去。 Page中有一个listWidget,用来管理Item的创建和布局。 对于想学习动态布局,动态...
更多的节定制支持,您可以按sectionBuilder返回一个新的节小部件,以自定义背景,展开/折叠动画,节布局等。 支持添加分频器。 支持重叠内容。入门在flutter项目的pubspec.yaml中,添加以下依赖项: dependencies :...