当前位置:  编程技术>移动开发
本页文章导读:
    ▪DIalog与popWindow格局        DIalog与popWindow布局 Android默认的PopupWindow和EditText的外观是矩形框,看起来不是太好,本示例通过设置布局View的背景和PopupWindowd对象的背景,实现有白色圆角边框的对话框效果和圆角文字编辑.........
    ▪ objective c 判断数目字的方法        objective c 判断数字的方法 在iphone中要实现在用户输入的时候判断是否是float或者是int,找了很久终于在一个论坛上得到帮助。- (BOOL)isPureFloat:(NSString *)string{      NSScanner* scan = [NSScanner sca.........
    ▪ 批改ADT的默认路径       修改ADT的默认路径 今天一个朋友找来,想帮助搭建一个Android的开发平台,发现了一个非常不专业的事,就是以中文设置windows的登录用户,所有环境都配置好后,运行个Helloworld应用,死活虚.........

[1]DIalog与popWindow格局
    来源: 互联网  发布时间: 2014-02-18
DIalog与popWindow布局

Android默认的PopupWindow和EditText的外观是矩形框,看起来不是太好,本示例通过设置布局View的背景和PopupWindowd对象的背景,实现有白色圆角边框的对话框效果和圆角文字编辑框。代码如下(关键部分是背景布局XML):

 


 

对话框弹出效果图:



 
 

 

Java代码
  • package com.test;   
  •   
  • import android.app.Activity;   
  • import android.content.Context;   
  • import android.os.Bundle;   
  • import android.text.InputType;   
  • import android.view.Gravity;   
  • import android.view.LayoutInflater;   
  • import android.view.View;   
  • import android.view.View.OnClickListener;   
  • import android.widget.Button;   
  • import android.widget.EditText;   
  • import android.widget.PopupWindow;   
  • import android.widget.LinearLayout.LayoutParams;   
  •   
  •   
  • public class RoundCorner extends Activity {   
  •   
  •     Button mButton;    
  •   
  •     @Override  
  •     public void onCreate(Bundle savedInstanceState) {   
  •         super.onCreate(savedInstanceState);   
  •         setContentView(R.layout.main);   
  •            
  •         // 定义按钮   
  •         mButton = (Button) this.findViewById(R.id.Button01);   
  •         mButton.setOnClickListener(new ClickEvent());   
  •            
  •         // 两个圆角文字编辑框   
  •         EditText et1 = (EditText) this.findViewById(R.id.roundedtext1);   
  •         EditText et2 = (EditText) this.findViewById(R.id.roundedtext2);   
  •         et1.setInputType(InputType.TYPE_TEXT_FLAG_AUTO_CORRECT);   
  •         et2.setInputType(InputType.TYPE_NULL); //不显示软键盘   
  •            
  •     }   
  •   
  •     // 处理按键事件   
  •     class ClickEvent implements OnClickListener {   
  •         @Override  
  •         public void onClick(View v) {   
  •             if (v == mButton) {   
  •                 showRoundCornerDialog(RoundCorner.this, RoundCorner.this.findViewById(R.id.Button01));   
  •             }   
  •         }   
  •     }   
  •   
  •     // 显示圆角对话框   
  •     public void showRoundCornerDialog(Context context, View parent) {   
  •         LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);   
  •            
  •         // 获取圆角对话框布局View,背景设为圆角   
  •         final View dialogView = inflater.inflate(R.layout.popupwindow, null, false);   
  •         dialogView.setBackgroundResource(R.drawable.rounded_corners_view);    
  •            
  •         // 创建弹出对话框,设置弹出对话框的背景为圆角    
  •         final PopupWindow pw = new PopupWindow(dialogView, 300, LayoutParams.WRAP_CONTENT, true);   
  •         pw.setBackgroundDrawable(getResources().getDrawable(R.drawable.rounded_corners_pop));   
  •            
  •         //注:上面的设背景操作为重点部分,可以自行注释掉其中一个或两个设背景操作,查看对话框效果   
  •         //注:上面的设背景操作为重点部分,可以自行注释掉其中一个或两个设背景操作,查看对话框效果   
  •            
  •         final EditText edtUsername = (EditText) dialogView.findViewById(R.id.username_edit);   
  •         final EditText edtPassword = (EditText) dialogView.findViewById(R.id.password_edit);   
  •         edtUsername.setHint("用户名..."); // 设置提示语   
  •         edtPassword.setHint("密码...");   // 设置提示语   
  •   
  •         // OK按钮及其处理事件   
  •         Button btnOK = (Button) dialogView.findViewById(R.id.BtnOK);   
  •         btnOK.setOnClickListener(new OnClickListener() {   
  •             @Override  
  •             public void onClick(View v) {   
  •                 // 设置文本框内容   
  •                 edtUsername.setText("username");   
  •                 edtPassword.setText("password");   
  •             }   
  •         });   
  •   
  •         // Cancel按钮及其处理事件   
  •         Button btnCancel = (Button) dialogView.findViewById(R.id.BtnCancel);   
  •         btnCancel.setOnClickListener(new OnClickListener() {   
  •             @Override  
  •             public void onClick(View v) {   
  •                 pw.dismiss();// 关闭   
  •             }   
  •         });   
  •            
  •         // 显示RoundCorner对话框   
  •         pw.showAtLocation(parent, Gravity.CENTER|Gravity.BOTTOM, 0, 0);   
  •     }   
  •        
  • }  
  • package com.test;
    
    import android.app.Activity;
    import android.content.Context;
    import android.os.Bundle;
    import android.text.InputType;
    import android.view.Gravity;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.PopupWindow;
    import android.widget.LinearLayout.LayoutParams;
    
    
    public class RoundCorner extends Activity {
    
    	Button mButton; 
    
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    		
    		// 定义按钮
    		mButton = (Button) this.findViewById(R.id.Button01);
    		mButton.setOnClickListener(new ClickEvent());
    		
    		// 两个圆角文字编辑框
    		EditText et1 = (EditText) this.findViewById(R.id.roundedtext1);
    		EditText et2 = (EditText) this.findViewById(R.id.roundedtext2);
    		et1.setInputType(InputType.TYPE_TEXT_FLAG_AUTO_CORRECT);
    		et2.setInputType(InputType.TYPE_NULL); //不显示软键盘
    		
    	}
    
    	// 处理按键事件
    	class ClickEvent implements OnClickListener {
    		@Override
    		public void onClick(View v) {
    			if (v == mButton) {
    				showRoundCornerDialog(RoundCorner.this, RoundCorner.this.findViewById(R.id.Button01));
    			}
    		}
    	}
    
    	// 显示圆角对话框
    	public void showRoundCornerDialog(Context context, View parent) {
    		LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    		
    		// 获取圆角对话框布局View,背景设为圆角
    		final View dialogView = inflater.inflate(R.layout.popupwindow, null, false);
    		dialogView.setBackgroundResource(R.drawable.rounded_corners_view); 
    		
    		// 创建弹出对话框,设置弹出对话框的背景为圆角 
    		final PopupWindow pw = new PopupWindow(dialogView, 300, LayoutParams.WRAP_CONTENT, true);
    		pw.setBackgroundDrawable(getResources().getDrawable(R.drawable.rounded_corners_pop));
    		
    		//注:上面的设背景操作为重点部分,可以自行注释掉其中一个或两个设背景操作,查看对话框效果
    		//注:上面的设背景操作为重点部分,可以自行注释掉其中一个或两个设背景操作,查看对话框效果
    		
    		final EditText edtUsername = (EditText) dialogView.findViewById(R.id.username_edit);
    		final EditText edtPassword = (EditText) dialogView.findViewById(R.id.password_edit);
    		edtUsername.setHint("用户名..."); // 设置提示语
    		edtPassword.setHint("密码...");   // 设置提示语
    
    		// OK按钮及其处理事件
    		Button btnOK = (Button) dialogView.findViewById(R.id.BtnOK);
    		btnOK.setOnClickListener(new OnClickListener() {
    			@Override
    			public void onClick(View v) {
    				// 设置文本框内容
    				edtUsername.setText("username");
    				edtPassword.setText("password");
    			}
    		});
    
    		// Cancel按钮及其处理事件
    		Button btnCancel = (Button) dialogView.findViewById(R.id.BtnCancel);
    		btnCancel.setOnClickListener(new OnClickListener() {
    			@Override
    			public void onClick(View v) {
    				pw.dismiss();// 关闭
    			}
    		});
    		
    		// 显示RoundCorner对话框
    		pw.showAtLocation(parent, Gravity.CENTER|Gravity.BOTTOM, 0, 0);
    	}
    	
    }

     

     

    1,圆角对话框的背景布局文件XML。

    --------rounded_corners_pop.xml此为PopupWindow的背景布局文件

    Java代码
  • <?xml version="1.0" encoding="utf-8"?>   
  • <shape xmlns:android="http://schemas.android.com/apk/res/android">   
  •     <solid android:color="#ffffffff" />   
  •        
  •     <stroke android:width="3dp" color="#ffff8080" />   
  •        
  •     <corners android:radius="10dp" />   
  •        
  •     <padding android:left="3dp" android:top="3dp"    
  •         android:right="3dp" android:bottom="3dp" />   
  • </shape>  
  • <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
    	<solid android:color="#ffffffff" />
    	
    	<stroke android:width="3dp" color="#ffff8080" />
    	
    	<corners android:radius="10dp" />
    	
    	<padding android:left="3dp" android:top="3dp" 
    		android:right="3dp" android:bottom="3dp" />
    </shape>

     

    --------rounded_corners_view.xml此为对话框内容的背景布局文件

    Java代码
  • <?xml version="1.0" encoding="utf-8"?>   
  • <shape xmlns:android="http://schemas.android.com/apk/res/android">   
  •     <solid android:color="#ff606060" />   
  •        
  •     <stroke android:width="3dp" color="#ffff8080" />   
  •        
  •     <corners android:radius="10dp" />   
  •        
  •     <padding android:left="5dp" android:top="5dp"    
  •         android:right="5dp" android:bottom="5dp" />   
  • </shape>  
  • <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
    	<solid android:color="#ff606060" />
    	
    	<stroke android:width="3dp" color="#ffff8080" />
    	
    	<corners android:radius="10dp" />
    	
    	<padding android:left="5dp" android:top="5dp" 
    		android:right="5dp" android:bottom="5dp" />
    </shape>

     

     2,圆角文字编辑框的三个布局XML文件

    ---------rounded_edittext_states.xml

    Java代码
  • <?xml version="1.0" encoding="utf-8"?>    
  • <selector xmlns:android="http://schemas.android.com/apk/res/android">    
  •     <item     
  •         android:state_pressed="true"     
  •         android:state_enabled="true"    
  •         android:drawable="@drawable/rounded_focused" />    
  •     <item     
  •         android:state_focused="true"     
  •         android:state_enabled="true"    
  •         android:drawable="@drawable/rounded_focused" />    
  •     <item     
  •         android:state_enabled="true"    
  •         android:drawable="@drawable/rounded_edittext" />    
  • </selector>   
  • <?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
        <item  
         	android:state_pressed="true"  
         	android:state_enabled="true" 
            android:drawable="@drawable/rounded_focused" /> 
        <item  
         	android:state_focused="true"  
         	android:state_enabled="true" 
            android:drawable="@drawable/rounded_focused" /> 
        <item  
         	android:state_enabled="true" 
            android:drawable="@drawable/rounded_edittext" /> 
    </selector> 

     

    ----------rounded_edittext.xml

    Java代码
  • <?xml version="1.0" encoding="utf-8"?>    
  • <shape xmlns:android="http://schemas.android.com/apk/res/android"    
  •     android:shape="rectangle"    
  •     android:padding="8dip">    
  •     <solid android:color="#FFFFFF"/>    
  •     <corners    
  •         android:bottomRightRadius="10dip"    
  •         android:bottomLeftRadius="10dip"    
  •         android:topLeftRadius="10dip"    
  •         android:topRightRadius="10dip"/>    
  • </shape>  
  • <?xml version="1.0" encoding="utf-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" 
    	android:shape="rectangle" 
    	android:padding="8dip"> 
     	<solid android:color="#FFFFFF"/> 
        <corners 
         	android:bottomRightRadius="10dip" 
         	android:bottomLeftRadius="10dip" 
      		android:topLeftRadius="10dip" 
      		android:topRightRadius="10dip"/> 
    </shape>

     

    -----------rounded_edittext_focused.xml

    Java代码
  • <?xml version="1.0" encoding="utf-8"?>    
  • <shape xmlns:android="http://schemas.android.com/apk/res/android"    
  •     android:shape="rectangle"    
  •     android:padding="8dip">    
  •     <solid android:color="#FFFFFF"/>    
  •     <stroke android:width="2dip" android:color="#FF0000" />    
  •     <corners    
  •         android:bottomRightRadius="10dip"    
  •         android:bottomLeftRadius="10dip"    
  •         android:topLeftRadius="10dip"    
  •         android:topRightRadius="10dip"/>    
  • </shape>   
  • <?xml version="1.0" encoding="utf-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" 
    	android:shape="rectangle" 
    	android:padding="8dip"> 
     	<solid android:color="#FFFFFF"/> 
     	<stroke android:width="2dip" android:color="#FF0000" /> 
        <corners 
         	android:bottomRightRadius="10dip" 
         	android:bottomLeftRadius="10dip" 
      		android:topLeftRadius="10dip" 
      		android:topRightRadius="10dip"/> 
    </shape> 

     

     

    3,对话框的布局文件popupwindow.xml

    Java代码
  • <?xml version="1.0" encoding="utf-8"?>   
  •   
  • <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  •     android:layout_width="fill_parent" android:layout_height="wrap_content"  
  •     android:orientation="vertical">   
  •   
  •     <TextView android:id="@+id/username_view"  
  •         android:layout_height="wrap_content"  
  •         android:layout_width="fill_parent"  
  •         android:layout_marginLeft="10dip"  
  •         android:layout_marginRight="10dip"    
  •         android:text="用户名"  
  •         android:textAppearance="?android:attr/textAppearanceMedium"/>   
  •   
  •     <EditText android:id="@+id/username_edit"  
  •         android:layout_height="wrap_content"  
  •         android:layout_width="fill_parent"    
  •         android:layout_marginLeft="10dip"  
  •         android:layout_marginRight="10dip"    
  •         android:capitalize="none"  
  •         android:textAppearance="?android:attr/textAppearanceMedium" />   
  •   
  •     <TextView android:id="@+id/password_view"  
  •         android:layout_height="wrap_content"  
  •         android:layout_width="fill_parent"  
  •         android:layout_marginLeft="10dip"  
  •         android:layout_marginRight="10dip"    
  •         android:text="密码"  
  •         android:textAppearance="?android:attr/textAppearanceMedium"/>   
  •   
  •     <EditText android:id="@+id/password_edit"  
  •         android:layout_height="wrap_content"  
  •         android:layout_width="fill_parent"    
  •         android:layout_marginLeft="10dip"  
  •         android:layout_marginRight="10dip"    
  •         android:capitalize="none"  
  •         android:password="true"  
  •         android:textAppearance="?android:attr/textAppearanceMedium" />   
  •   
  •     <LinearLayout android:id="@+id/LinearLayout01"  
  •         android:layout_height="wrap_content"    
  •         android:layout_width="fill_parent"  
  •         android:gravity="center"  
  •         android:paddingLeft="10dip"  
  •         android:paddingRight="10dip">   
  •            
  •         <Button android:id="@+id/BtnOK"  
  •             android:layout_width="wrap_content"  
  •             android:layout_height="wrap_content"    
  •             android:layout_weight="1"    
  •             android:text="确定"/>   
  •                
  •         <Button android:id="@+id/BtnCancel"  
  •             android:layout_width="wrap_content"  
  •             android:layout_height="wrap_content"    
  •             android:layout_weight="1"  
  •             android:text="取消"/>   
  •     </LinearLayout>   
  •   
  • </LinearLayout>  
  • <?xml version="1.0" encoding="utf-8"?>
    
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    	android:layout_width="fill_parent" android:layout_height="wrap_content"
    	android:orientation="vertical">
    
    	<TextView android:id="@+id/username_view"
    		android:layout_height="wrap_content"
    		android:layout_width="fill_parent"
    		android:layout_marginLeft="10dip"
    		android:layout_marginRight="10dip" 
    		android:text="用户名"
    		android:textAppearance="?android:attr/textAppearanceMedium"/>
    
    	<EditText android:id="@+id/username_edit"
    		android:layout_height="wrap_content"
    		android:layout_width="fill_parent" 
    		android:layout_marginLeft="10dip"
    		android:layout_marginRight="10dip" 
    		android:capitalize="none"
    		android:textAppearance="?android:attr/textAppearanceMedium" />
    
    	<TextView android:id="@+id/password_view"
    		android:layout_height="wrap_content"
    		android:layout_width="fill_parent"
    		android:layout_marginLeft="10dip"
    		android:layout_marginRight="10dip" 
    		android:text="密码"
    		android:textAppearance="?android:attr/textAppearanceMedium"/>
    
    	<EditText android:id="@+id/password_edit"
    		android:layout_height="wrap_content"
    		android:layout_width="fill_parent" 
    		android:layout_marginLeft="10dip"
    		android:layout_marginRight="10dip" 
    		android:capitalize="none"
    		android:password="true"
    		android:textAppearance="?android:attr/textAppearanceMedium" />
    
    	<LinearLayout android:id="@+id/LinearLayout01"
    		android:layout_height="wrap_content" 
    		android:layout_width="fill_parent"
    		android:gravity="center"
    		android:paddingLeft="10dip"
    		android:paddingRight="10dip">
    		
    		<Button android:id="@+id/BtnOK"
    			android:layout_width="wrap_content"
    			android:layout_height="wrap_content" 
    			android:layout_weight="1" 
    			android:text="确定"/>
    			
    		<Button android:id="@+id/BtnCancel"
    			android:layout_width="wrap_content"
    			android:layout_height="wrap_content" 
    			android:layout_weight="1"
    			android:text="取消"/>
    	</LinearLayout>
    
    </LinearLayout>

     

     

    4,主布局文件 main.xml

    Java代码
  • <?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:paddingTop="10dip">   
  •        
  •     <EditText android:id="@+id/roundedtext1"     
  •         android:layout_width="fill_parent"     
  •         android:layout_height="wrap_content"     
  •         android:text="圆角编辑框实例"    
  •         android:padding="5dip"    
  •         android:background="@drawable/rounded_edittext" />    
  •            
  •     <!-- 此View为布局使用 -->   
  •     <View android:layout_height="5dip" android:layout_width="fill_parent"/>   
  •            
  •     <EditText android:id="@+id/roundedtext2"      
  •         android:layout_width="fill_parent"     
  •         android:layout_height="wrap_content"     
  •         android:text="聚焦可变边框颜色"    
  •         android:padding="5dip"  
  •         android:paddingTop="30dip"  
  •         android:background="@drawable/rounded_edittext_states"/>    
  •   
  •     <!-- 此View为布局使用 -->   
  •     <View android:layout_height="5dip" android:layout_width="fill_parent"/>   
  •   
  •     <Button android:id="@+id/Button01"    
  •         android:layout_height="wrap_content"  
  •         android:layout_width="fill_parent"    
  •         android:text="弹出圆角对话框"/>   
  •            
  • </LinearLayout>  

  •     
    [2] objective c 判断数目字的方法
        来源: 互联网  发布时间: 2014-02-18
    objective c 判断数字的方法
    在iphone中要实现在用户输入的时候判断是否是float或者是int,找了很久终于在一个论坛上得到帮助。

    - (BOOL)isPureFloat:(NSString *)string{
          NSScanner* scan = [NSScanner scannerWithString:string];
          float val;
          return [scan scanFloat:&val] && [scan isAtEnd];
    }

        
    [3] 批改ADT的默认路径
        来源: 互联网  发布时间: 2014-02-18
    修改ADT的默认路径

    今天一个朋友找来,想帮助搭建一个Android的开发平台,发现了一个非常不专业的事,就是以中文设置windows的登录用户,所有环境都配置好后,运行个Helloworld应用,死活虚拟机都不能启动,也许这种情况不止一人发生,故把错误信息贴在这里,并将解决办法留个纪念吧!

     

    错误信息:

    [2011-01-09 23:39:37 - Hello] Launching a new emulator with Virtual Device 'android'
    [2011-01-09 23:39:37 - Emulator] emulator: ERROR: no search paths found in this AVD's configuration.
    [2011-01-09 23:39:37 - Emulator] Weird, the AVD's config.ini file is malformed. Try re-creating it.

     

    这就是由于ADT指向的路径中有中文字符造成的错误!

     

    解决办法:

    1、进入系统的[环境变量],增加一个变量名为:ANDROID_SDK_HOME 的系统变量;

    2、设置变量值为任意不含中文字符的完整文件夹地址,该路径未来将保留ADT配置的文件;

    重启Eclipse,搞定!

    1 楼 liufumingfeng 2011-08-01  

        
    最新技术文章:
    ▪Android开发之登录验证实例教程
    ▪Android开发之注册登录方法示例
    ▪Android获取手机SIM卡运营商信息的方法
    ▪Android实现将已发送的短信写入短信数据库的...
    ▪Android发送短信功能代码
    ▪Android根据电话号码获得联系人头像实例代码
    ▪Android中GPS定位的用法实例
    ▪Android实现退出时关闭所有Activity的方法
    ▪Android实现弹出键盘的方法 iis7站长之家
    ▪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