当前位置:  编程技术>移动开发
本页文章导读:
    ▪采取ViewHolder模式提高AdapterView显示的效率        采用ViewHolder模式提高AdapterView显示的效率 如果对效率要求比较高的话可以采用这种办法,唯一的缺点就是多了一个内部类ViewHolder。public View getView(int pos, View convertView, ViewGroup parent){ .........
    ▪ Gallery默许第一项居左解决方案        Gallery默认第一项居左 网上找的,暂时用不到没测试过。Android 中的Gallery控件默认会将第一项居中显示,在某些场景会影响用户体验,分享一下居左的:/** * Align the first gallery item to the left..........
    ▪ 第八节(Activity格局初步一)       第八节(Activity布局初步一) 一、LinearLayout <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" .........

[1]采取ViewHolder模式提高AdapterView显示的效率
    来源: 互联网  发布时间: 2014-02-18
采用ViewHolder模式提高AdapterView显示的效率
如果对效率要求比较高的话可以采用这种办法,唯一的缺点就是多了一个内部类ViewHolder。
public View getView(int pos, View convertView, ViewGroup parent){ 
            ViewHolder holder;
            if (convertView == null) { 
                holder=new ViewHolder();
                convertView = mInflater.inflate(R.layout.list_item, null); 
                holder.text = (TextView) convertView.findViewById( R.id.text));
                holder.icon = (ImageView) convertView.findViewButId( R.id.icon));
                convertView.setTag(holder); 
                }
            else { 
                holder = (ViewHolder) convertView.getTag(); 
                }
            holder.text.setText(DATA[pos]); 
            holder.icon.setImageBitmap((pos & 1) == 1 ? mIcon1 : mIcon2);
                return convertView;
                } 
 
        static class ViewHolder { 
            TextView text;
            ImageView icon;
            } 
1 楼 lizhanzhishang 2012-05-03  
      holder.icon.setImageBitmap((pos & 1) == 1 ? mIcon1 : mIcon2);

这里的pos是怎么得到的?(pos & 1)这点不懂,请指教
2 楼 lizhanzhishang 2012-05-03  
还有个问题:为什么会有好多的数据来填充整个View?这是系统默认的,还是什么原因?可以修改为,自己想要的数据量嘛?谢谢
3 楼 gundumw100 2012-05-03  
lizhanzhishang 写道
      holder.icon.setImageBitmap((pos & 1) == 1 ? mIcon1 : mIcon2);

这里的pos是怎么得到的?(pos & 1)这点不懂,请指教

getView(int pos, View convertView, ViewGroup parent)里的pos嘛

    
[2] Gallery默许第一项居左解决方案
    来源: 互联网  发布时间: 2014-02-18
Gallery默认第一项居左
网上找的,暂时用不到没测试过。
Android 中的Gallery控件默认会将第一项居中显示,在某些场景会影响用户体验,分享一下居左的:
/**
* Align the first gallery item to the left.
*
* @param parentView The view containing the gallery widget (we assume the gallery width
* is set to match_parent)
* @param gallery The gallery we have to change
*/
private void alignGalleryToLeft(View parentView, Gallery gallery) {
int galleryWidth = parentView.getWidth();

// We are taking the item widths and spacing from a dimension resource because:
// 1. No way to get spacing at runtime (no accessor in the Gallery class)
// 2. There might not yet be any item view created when we are calling this
// function
int itemWidth = context.getResources()
.getDimensionPixelSize(R.dimen.gallery_item_width);
int spacing = context.getResources()
.getDimensionPixelSize(R.dimen.gallery_spacing);

// The offset is how much we will pull the gallery to the left in order to simulate
// left alignment of the first item
int offset;
if (galleryWidth <= itemWidth) {
offset = galleryWidth / 2 - itemWidth / 2 - spacing;
} else {
offset = galleryWidth - itemWidth - 2 * spacing;
}
offset = 0;

// Now update the layout parameters of the gallery in order to set the left margin
MarginLayoutParams mlp = (MarginLayoutParams) gallery.getLayoutParams();
mlp.setMargins(-offset, mlp.topMargin, mlp.rightMargin, mlp.bottomMargin);
}


http://androidit.diandian.com/post/b8c29a20-e368-11e0-94a3-782bcb32ff27

Android自定义Gallery,实现CoverFlow效果
http://bigcat.easymorse.com/?p=1391

    
[3] 第八节(Activity格局初步一)
    来源: 互联网  发布时间: 2014-02-18
第八节(Activity布局初步一)

一、LinearLayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <!-- 
	    android:orientation="vertical"- -指定控件排列方向
	    android:layout_width="fill_parent"
	    android:layout_height="fill_parent" 
    -->
    <!-- 
    	android:id="@+id/btn_1"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="第2行"
		android:gravity="center"- -指定控件的基本位置比如居中、居右等位置
		android:textSize="20pt"- -指定控件当中文本字体大小
		android:background="#aa0000"- -指定控件背景色,使用RGB命名法
		android:padding....- -指定控件内容的边距
		android:layout_weight="2"- -指定控件在布局中占用屏幕的比例
		android:singleLine="true"- -指定控件是的内容是否在同一行中展示
     -->
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    android:layout_weight="5"
    />
<Button
	android:id="@+id/btn_1"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:text="第2行第2行第2行第2行第2行第2行第2行第2行第2行第2行第2行第2行第2行第2行"
	android:gravity="top"
	android:textSize="20pt"
	android:background="#aa0000"
	android:paddingLeft="10dip"
	android:paddingTop="1dip"
	android:paddingRight="30dip"
	android:paddingBottom="40dip"
	android:layout_weight="1"
	android:singleLine="true"
/>
</LinearLayout>

 

二、TableLayout

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="0"
    >
    <!-- android:stretchColumns="0"如果不能撑满窗口,拉伸第0列填满窗口 -->
    <TableRow>
    	<TextView 
    		android:text="column1"
    		android:padding="5dip"
    		android:background="#aa0000"
    	/>
    	<TextView 
    		android:text="column2"
    		android:padding="5dip"
    		android:background="#0000aa"
    		android:layout_gravity="center_vertical"
    	/>
    	<TextView 
    		android:text="column3"
    		android:padding="5dip"
    		android:background="#00aa00"
    	/>
    </TableRow>
    <TableRow>
    	<TextView 
    		android:text="column1"
    		android:padding="5dip"
    	/>
    	<TextView 
    		android:text="column2"
    		android:padding="5dip"
    	/>
    	<TextView 
    		android:text="column3"
    		android:padding="5dip"
    	/>
    </TableRow>
</TableLayout>

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3