- 浏览: 341418 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
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 7669一般使用setDrawingCacheEnabled(true ... -
Android bitmap优化
2011-08-11 17:02 5990直接使用ImageView显示 ... -
Android模拟器更改分辨率后 无法取得分辨率问题
2011-05-11 21:06 2861在PC上更改模拟器分辨率为480*800 (如果你的PC界面 ... -
获取屏幕硬件分辨率方法 收藏
2011-05-11 16:28 1923TextView tv=(TextVie ... -
Bytecode for the Dalvik VM
2011-05-10 22:35 1370http://www.netmite.com/android/ ... -
Android DEX反编译后部分代码解析
2011-05-10 22:07 3947一个private 方法 private Stri ... -
反编译并且修改Android APK包
2011-05-10 16:57 3138為了某個實驗的動機,我們評估反編譯 Android ... -
Android Ant编译时候进行混淆
2010-10-18 13:49 3835版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
自定义Ant Task
2010-09-13 17:58 3001版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自动打包、签名、优化、上传ANT脚本
2010-07-26 16:51 13994版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自定义含有CheckBox的Adapter遇到的问题
2010-06-23 13:48 4129版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
QR code类库
2010-06-03 23:11 2336Google code发现的好东西。 QR code 类库 ... -
Android QQ,一个WEBOS APP诞生!!(两个QQ对比!)
2010-04-10 12:05 1880请看这个大哥的言论 http://linuxtoy.or ... -
Android 、BlackBerry 文本对齐方式对比
2010-02-22 13:11 1815版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
教你如何开关Android的APN网络
2010-01-08 11:36 6060版权所有,转载请注明来自Mobile Developer (h ... -
史上最强NDK入门项目实战
2009-10-10 13:29 2691以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
使用TimerTask控制ProgressBar
2009-10-10 13:21 1128以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
重画Progressbar的进度
2009-10-10 13:15 1944以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
谈谈Android中文短信的实现
2009-10-10 13:13 2183似 乎Google在推出G1时 ... -
模拟器互发短信
2009-10-10 13:11 1300以下内容Sinfrancis版权所有,专注请注明来自 htt ...
相关推荐
Android Tablayout 自定义Tab布局的使用案例 Android Tablayout 是 Android 设计库中的一部分,主要用于实现标签页功能。Tablayout 中的 Tab 可以自定义布局,以满足不同的需求。本文将 introduction 了 Android ...
自定义布局允许开发者根据需求灵活设计ListView显示的内容和样式。本实例将深入讲解如何在WPF中自定义ListView控件的布局。 首先,自定义布局主要涉及到两部分:ControlTemplate和DataTemplate。ControlTemplate...
1. **创建自定义布局**: 首先,为ListView的每一项(item)创建一个自定义的布局文件。在这个布局中,我们可以使用`shape`资源来定义一个具有圆角的矩形背景。例如,可以在res/drawable目录下创建一个xml文件,如`...
本示例主要讲解如何自定义QListWidget的布局,使其能更好地满足用户界面的需求。我们将从以下几个方面展开讨论: 1. **QListWidgetItem类型**:QListWidget的基本单元是QListWidgetItem,它代表了列表中的一个条目...
本篇文章将深入探讨如何在Android中实现自定义list的item显示内容。 首先,我们需要创建一个自定义的布局文件,这个布局文件将作为ListView中的每个item。在`res/layout`目录下创建一个新的XML布局文件,例如`...
1. 创建布局文件:为ListView的每一项创建一个单独的XML布局文件,例如`list_item.xml`,在这个文件中定义你需要显示的元素和样式。 2. 创建自定义Adapter:继承`BaseAdapter`或者`ArrayAdapter`,并重写其中的方法...
本文将深入探讨如何通过适配器(Adapter)和自定义布局来实现一个功能丰富的自定义ListView。 一、适配器(Adapter)的理解与应用 适配器是Android中连接数据源和UI控件的关键桥梁,它将数据转换成可以被ListView...
因此,为了实现多布局,我们首先需要自定义一个Adapter。 1. **创建多布局的Adapter** - 创建一个新的继承自BaseAdapter的类,如`MyCustomAdapter`。 - 在Adapter中定义两个或者更多的ViewHolder类,每个...
class FlexAdapter(private val items: List) : FlexboxLayoutManager.FlexboxAdapter() { // 实现相关方法,如 onCreateViewHolder, onBindViewHolder 等,根据 FlexItem 的 isSelected 设置视图的选中状态 } ``` ...
MeasureSpec包含尺寸模式(如EXACTLY、AT_MOST、UNSPECIFIED)和具体尺寸,是自定义布局时的重要概念。 3. **布局参数**: 自定义ViewGroup中的子视图(列表项)通常需要设置合适的布局参数,如宽度和高度。这些...
- **自定义ListView项布局**:首先,你需要创建一个XML布局文件来定义ListView每一项的显示样式。这可以通过在`res/layout`目录下创建一个新的XML文件来完成,例如`list_item.xml`。在这个文件中,你可以自由添加...
自定义ListAdapter是实现ListView功能的关键,它允许开发者根据自己的需求定制ListView的显示样式和行为。在这个小例子中,我们没有涉及到数据库操作,而是专注于如何创建和使用自定义的适配器。 首先,了解...
支持自定义标题布局(Toolbar ...),内容布局(列表,文字)和底部布局(按钮,BottomAppBar) 底部布局自适应导航栏 只在类原生机器测试过,不保证支持国产定制系统 支持Activity形式的Dialog...
标题"可展开可收缩的列表,可自定义布局"表明我们将探讨如何使用`ExpandListView`并定制其布局以满足个性化需求。 首先,`ExpandListView`继承自`ListView`,因此具备`ListView`的基本功能,如滚动、长按事件等。但...
本篇将详细介绍如何在ListView中添加Button,自定义布局,并获取输入框中的值。 首先,我们需要创建一个自定义的布局文件。在`res/layout`目录下创建一个新的XML布局文件,例如`list_item.xml`。在这个文件中,我们...
本文将深入探讨如何实现一个基于List的下载列表控件,并着重讲解两个关键点:xml布局实现和代码布局及默认图像的处理。 首先,让我们来看看`listForDownload(xml布局实现).rar`中的内容。在安卓中,XML布局文件是...
2. `list_item.xml` - ListView中每一项的布局,包含一个CheckBox。 3. `MyDialog.java` - 自定义Dialog类的实现。 4. `MyListAdapter.java` - 自定义的ListView适配器,包含全选和取消全选的逻辑。 总结起来,这个...
newView()负责从布局资源中创建新的View,bindView()则将Cursor中的数据绑定到View上。 ```java public class ContactAdapter extends CursorAdapter { public ContactAdapter(Context context, Cursor c, boolean...
数据可以是字符串数组、List或其他自定义对象,需要实现适配器(Adapter)来将这些数据转化为可显示的视图。 5. **滚动逻辑** 在自定义View类中实现滚动逻辑,可以使用Scroller类或者VelocityTracker来处理平滑...
// 设置内容视图,可以是自定义的布局 View contentView = LayoutInflater.from(context).inflate(R.layout.popup_view, null); popupWindow.setContentView(contentView); // 设置宽度和高度 popupWindow.setWidth...