当前位置: 编程技术>移动开发
本页文章导读:
▪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布局
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);
}
}
<?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="#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"?>
<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"?>
<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"/>
<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"?>
<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: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>
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); } }
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>
--------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>
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>
----------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>
-----------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>
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>
4,主布局文件 main.xml
Java代码
[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];
}
在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
最新技术文章: