android编程小技巧集锦

1.android中 一个XML文件中引入另一XML的方法如下:

                <include
                    android:id="@+id/inlcude"
                    layout="@layout/listview_item" />

这样做的好处可以重复利用相同的XML文件

2.android 中去除EditText的黄色边框的方法是:

  属性中添加:    
 android:background="@null"

3.android中除去ListView滑动时候黑色背景的方法是:

属性中添加:     

     android:cacheColorHint="#00000000"

4.android中设置没有TitleBar和全屏的方法分别是:

1.  没有TitleBa    

在AndroidManifest.xml  中Activity的theme 设置如下:

 <activity
            android:name=".Issue"
            android:theme="@android:style/Theme.NoTitleBar" /

2.全屏

在AndroidManifest.xml  中Activity的theme 设置如下:

<activity
            android:name=".Issue"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />

5.去除ScrollView 向上或者向下滑动时候顶部的黄边阴影


在网上搜了一些方法尝试了好多次,把我设置好的拿过来和大家分享一下

具体如下,在ScrollView中去掉滚动条的方法是

 android:scrollbars="none"
在java中代码实现的去除黄边的方法如下  最主要的是  scrollView.setOverScrollMode(View.OVER_SCROLL_NEVER);

	        /**
		 * 去除ScrollView 顶部黄边的方法,因为在android 2.2 版本以前没有滑动到顶部或者底部黄边的阴影,
		 *  在2.3版本之后出现了黄色阴影, 解决办法如下,
		 * 
		 * **/
		ScrollView scrollView;
		 Integer version;
		scrollView = (ScrollView) findViewById(R.id.setting_scrollview);
		if ((version = Integer.valueOf(android.os.Build.VERSION.SDK)) > 8) {
			Toast.makeText(Setting.this, "除去黄边", 1).show();
			scrollView.setOverScrollMode(View.OVER_SCROLL_NEVER);
		}

6.android中布局的一下技巧

一般控制 控件的位置、间距都需要加layout,控件中字体中的位置、间距则没

1、控件垂直居中、水平居中、居中的方法:

android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:layout_centerInParent="true"


2、控件距上、下、左、右、四周的距离
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_margin="20dp"


3、字体在控件中垂直居中、水平居中、居中的方法:
android:gravity="center_vertical"
android:gravity="center_horizontal"
android:gravity="center"


4、字体在控件中距离控件边上、下、左、右四周距离的方法
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:padding="10dp"


7.用代码实现改变组件中drawableTop、drawableBottom、drawableLeft   、 drawableRight的方法

        checkread=(TextView)findViewById(R.id.check_read);
        checkread.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub

		        Drawable drawable= getResources().getDrawable(R.drawable.login_enter);  
		      /// 这一步必须要做,否则不会显示.  
		      drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());  
		      checkread.setCompoundDrawables(drawable,null,null,null);  
		        
			}
		});

8.控制软键盘不覆盖Button或则下面EditText的方法

在androidmanfest.xml 文件 activity 节点中添加   android:windowSoftInputMode="stateHidden|adjustResize" 控制键盘的隐藏和适应屏幕空间的大小。

           <activity
            android:name=".TestActivity"
            android:label="@string/app_name"
            android:windowSoftInputMode="stateHidden|adjustResize"
             >


 9.AlertDialog 中setItems的处理

实现的效果如下:

实现的代码如下:

                           final CharSequence[] items = { "选择相册图片", "现在拍摄" };
			AlertDialog.Builder builder = new AlertDialog.Builder(this);
			builder.setTitle("添加照片")
			.setItems(items, new DialogInterface.OnClickListener() {
				public void onClick(DialogInterface dialog, int item) {
					
					//根据设置items中数组中item的值进行监听设置
	                if (item == 1){  
	                    Intent getImageByCamera = new Intent("android.media.action.IMAGE_CAPTURE");  
	                    startActivityForResult(getImageByCamera, 1);  
	                } else{  
	                    Intent getImage = new Intent(Intent.ACTION_GET_CONTENT);  
	                    getImage.addCategory(Intent.CATEGORY_OPENABLE);  
	                    getImage.setType("image/jpeg");  
	                    startActivityForResult(getImage, 0);  
	                }  	
					
				}
			}).create().show();

 

10.验证邮箱格式

	          //电子邮件  
		 String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";  
		 Pattern regex = Pattern.compile(check);  
		 Matcher matcher = regex.matcher(1111111@qq.com);  
		 boolean isMatched = matcher.matches(); 


 11.android 中解决中文乱码问题

这个办法比较笨,但是比较实用,一眼就可以看出需要的是那种编码

                     String temp = new String(datastr.getBytes(), "GBK");
                     System.out.println("****1** getBytes() -> GBK ******\n"+temp);
                     temp = new String(datastr.getBytes("GBK"), "UTF-8");
                     System.out.println("****2** GBK -> UTF-8 *******\n"+temp);
                     temp = new String(datastr.getBytes("GBK"), "ISO-8859-1");
                     System.out.println("****3** GBK -> ISO-8859-1 *******\n"+temp);
                     temp = new String(datastr.getBytes("ISO-8859-1"), "UTF-8");
                     System.out.println("****4** ISO-8859-1 -> UTF-8 *******\n"+temp);
                     temp = new String(datastr.getBytes("ISO-8859-1"), "GBK");
                     System.out.println("***5*** ISO-8859-1 -> GBK *******\n"+temp);
                     temp = new String(datastr.getBytes("UTF-8"), "GBK");
                     System.out.println("**6**** UTF-8 -> GBK *******\n"+temp);
                     temp = new String(datastr.getBytes("UTF-8"), "ISO-8859-1");
                     System.out.println("***7*** UTF-8 -> ISO-8859-1 *******\n"+temp);

经过测试可以在这7中方法中筛选出符合自己要求的编码格式后台输出如下:


 



posted @   程序员Android的博客  阅读(62)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示