控件

listview

属性

android:listSelector="@android:color/transparent"  点击选择的背景效果

android:dividerHeight="1dp"  分割线

android:divider="#aaa"  分割线颜色

android:stackFromBottom="true"   显示最底部

android:cacheColorHint="@android:color/transparent"

android:scrollbars="none" 隐藏listView的滚动条

android:fadeScrollbars="false"  滚动条不自动隐藏(一直显示)

lv.setSelection();

加载原理和优化

Adapter的getCount()得到ListView的长度; 然后根据这个长度,调用getView()一行一行的绘制ListView的每一项。(如果你的getCount()返回值是0的话,列表一行都不会显示,如果返回1,就只显示一行。返回几则显示几行。)

问题:如果我们有几千几万甚至更多的item要显示怎么办?为每个Item创建一个新的View?

Recycler的构件在做缓存!(界面可见个数+1个convertView)eg:2个可见



利用convertview回收视图,效率提高200%。
利用viewholder模式,效率在提高50%    

哈哈!!!厉害

	@Override
	public View getView(int position, View convertView, ViewGroup parent)
	{
		Contact contact = list.get(position);
		ViewHolder hodler = null;
		if (convertView == null)
		{
			hodler = new ViewHolder();
			convertView = View.inflate(context, R.layout.contact_row_item_model, null);
			hodler.tvName = (TextView) convertView.findViewById(R.id.tvName);

			convertView.setTag(hodler);
		} else
		{
			hodler = (ViewHolder) convertView.getTag();
		}
		hodler.tvName.setText(contact.name);
		return convertView;
	}
	class ViewHolder
	{
		TextView tvName;
	}

1.Context尽量使用Application Context,因为Application的Context的生命周期比较长,引用它不会出现内存泄露的问题

2.listview的高度要match_parent ,不然getView一顿乱调用;而且会出现莫名的问题~~




EditText

username.setText(mUsername.trim());//
username.setSelection(mUse
rname.length());//光标

android:imeOptions="actionSearch"
android:singleLine="true"

		if (etText == null)
			return;
		etText.setText(defultText);
		if (!StringUtils.isEmpty(hintText))
			etText.setHint(hintText);
		switch (type)
		{
		case 1: // text
			// InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_PASSWORD
			etText.setInputType(InputType.TYPE_CLASS_TEXT
					| InputType.TYPE_TEXT_VARIATION_NORMAL);
			break;
		case 2:// pwd
			etText.setInputType(InputType.TYPE_CLASS_TEXT
					| InputType.TYPE_TEXT_VARIATION_PASSWORD);
			break;
		case 3:
			// number
			int inputType = InputType.TYPE_CLASS_NUMBER
					| InputType.TYPE_NUMBER_VARIATION_NORMAL;
			etText.setInputType(inputType);

		default:
			etText.setInputType(InputType.TYPE_CLASS_TEXT);
			break;
		}


TextView

setTextColor:

Resources resource = (Resources) getBaseContext().getResources();  
ColorStateList csl = (ColorStateList) resource.getColorStateList(R.color.my_color);  
if (csl != null)
{  
	tv.setTextColor(csl);  //颜色不是R.color.id,!
}  

tv.setTextColor(Color.rgb(255, 255, 255));

RadioButton

fragment下面切换的button

    <style name="radioButtonStyle">
        <item name="android:textColor">@color/rb_colors_selector</item>
        <item name="android:background">@android:color/transparent</item>
        <item name="android:button">@null</item>
        <item name="android:textSize">14sp</item>
        <item name="android:layout_width">0dip</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_weight">1</item>
        <item name="android:drawablePadding">5dp</item>
        <item name="android:layout_gravity">center</item>
        <item name="android:gravity">center</item>
    </style>

textColor选择器

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:color="#ff0000"></item>
    <item android:state_checked="true" android:color="#ff0000"></item>
    <item android:color="#ffffff"></item>
</selector>

图片选择器

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:drawable="@drawable/govaffairs_press"></item>
    <item android:state_checked="true" android:drawable="@drawable/govaffairs_press"></item>
    <item android:drawable="@drawable/govaffairs"></item>
</selector>


WebView

	settings.setJavaScriptEnabled(true);// 表示支持js
	settings.setBuiltInZoomControls(true);// 显示放大缩小按钮
	settings.setUseWideViewPort(true);// 支持双击缩<pre name="code" class="java">setWebViewClient//开始 结束 所有跳转的链接
	setWebChromeClient//进度发生变化  获取网页标题
	WebSettings settings = mWebView.getSettings();
	settings.setTextSize(TextSize.LARGEST);//字体大小
	settings.setTextZoom(20);//字体大小


 
 
 
 
 

android-support-v4 

android-support-v4.jar.properties  

src = D:\\adt-bundle\\adt-bundle-windows-x86_64-20140321\\sdk\\extras\\android\\support\\v4\\src

tv.setTextColor(Color.rgb(255, 255, 255));



android-support-v7  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值