android:
id="@+id/PasswordTextView"
android:
layout_width="wrap_content"
android:
layout_height="wrap_content"
android:
layout_alignBottom="@+id/PasswordeditText"
android:
layout_alignLeft="@+id/AccountTextView"
android:
text="?
?
"
android:
textSize="20sp"/>
布局结果如图所示:
图3.1登录框布局
3.1.2登录对话框设计
登录对话框的设计与实现采用JAVA语言实现,实例化AlertDialog.Builder类,此类用作创建手机界面的对话框,实例View类中的方法,加载login.activity布局,即将此布局加载到对话框的里面。
在登录对话中可以显示布局里面的内容,运行结果如图2-2所示,具体实现代码如下:
protectedvoidonCreate(BundlesavedInstanceState){
//TODOAuto-generatedmethodstub
super.onCreate(savedInstanceState);
AlertDialog.Builderbuilder=newAlertDialog.Builder(MAIN_ACTIVITY.this);
Viewview=LayoutInflater.from(MAIN_ACTIVITY.this).inflate
(R.layout.login_dialog,null);
FinalEditTextUsername=(EditText)view.findViewById
(R.id.AccountEditText);
finalEditTextPassword=(EditText)view.findViewById(
R.id.PasswordeditText);
builder.setView(view);
builder.setTitle("?
?
?
?
?
");
builder.setPositiveButton("?
?
",newDialogInterface.
OnClickListener(){
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
//TODOAuto-generatedmethodstub
Stringusername=Username.getText().toString().trim();
Stringpassword=Password.getText().toString().trim();
Stringcurrentuname="吕鹏";
Stringcurrentpassword="201103010042";
try{
if("".equals(username)||"".equals(password)){
Toast.makeText(MAIN_ACTIVITY.this,"?
?
?
?
?
?
?
?
?
?
?
",1).show();
MAIN_ACTIVITY.this.finish();
}
if(!
currentuname.equals(username)||!
currentpassword.equals(password)){
Toast.makeText(MAIN_ACTIVITY.this,"?
?
?
?
?
?
?
?
?
",1).show();
MAIN_ACTIVITY.this.finish();
}
if(currentuname.equals(username)&¤tpassword.equals(password)){
Intentintent=newIntent
(MAIN_ACTIVITY.this,Splash_Activity.class);
Toast.makeText(MAIN_ACTIVITY.this,"?
?
?
?
!
",1).show();startActivity(intent);
MAIN_ACTIVITY.this.finish();
}
}catch(Exceptione){
//TODO:
handleexception
Toast.makeText(MAIN_ACTIVITY.this,"?
?
?
?
",1).show();
}
}
});
builder.setNegativeButton("?
?
",newDialogInterface.OnClickListener(){
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
//TODOAuto-generatedmethodstub
MAIN_ACTIVITY.this.finish();
}
});
builder.show();
}
3.2等待模块设计
此模块的设计目的为的是练习使用SplashActivity,用于显示个人信息。
在XML布局方面,没有采用才布局,主要采用的是JAVA语言布局。
在此模块实现了规定时间的延时操作,时间到后,即可通过Intent实现跳转下一个界面。
其实现代码如下:
publicclassSplash_ActivityextendsActivity{
privatefinalintSPLASH_DISPLAY_LENGHT=1000;//?
?
?
?
@Override
protectedvoidonCreate(BundlesavedInstanceState){
//TODOAuto-generatedmethodstub
super.onCreate(savedInstanceState);
TableLayouttableLayout=newTableLayout(this);//?
?
TableLayout?
?
setContentView(tableLayout);//?
?
?
?
?
TableRowtableRow1=newTableRow(this);
TableRowtableRow2=newTableRow(this);
TextViewname=newTextView(this);
name.setText("\nJAVA?
?
?
?
\n\n"+"?
?
:
?
?
\n\n"+"?
?
:
201103010042\n"+"\n?
?
:
11?
?
?
?
");//?
?
?
?
?
?
name.setTextColor(Color.BLACK);
name.setTextSize(18);
TextViewtextView1=newTextView(this);
textView1.setText("10?
?
?
?
.......");
textView1.setTextColor(Color.RED);
textView1.setTextSize(20);
ImageViewimageView=newImageView(this);
imageView.setImageResource(R.drawable.me);//?
?
?
?
tableRow1.addView(imageView);
tableRow1.addView(name);
tableRow2.addView(textView1);
tableLayout.addView(tableRow1);
tableLayout.addView(tableRow2);
newHandler().postDelayed(newRunnable(){
@Override
publicvoidrun(){
//TODOAuto-generatedmethodstub
IntentmianIntent=newIntent
(Splash_Activity.this,MainActivity.class);
//?
?
?
?
?
?
?
?
?
Splash_Activity.this.startActivity(mianIntent);//?
?
?
?
?
Activity
Splash_Activity.this.finish();//?
?
?
?
?
Activity
}
},SPLASH_DISPLAY_LENGHT);
}
3.3系统主界面模块设计
3.3.1主界面XML布局设计
主界面的XML布局非常的简单,只需添加几个ImageButton即可。
在工程目录下的layout文件夹下,新建activity_main.xml文件,在可视化的布局界面,添加5个ImageButton按钮,并加载与功能相关的图片。
相关代码如下:
activity_main.xml
android="
xmlns:
tools="
android:
layout_width="match_parent"
android:
layout_height="match_parent"
>
android:
id="@+id/call"
android:
layout_width="wrap_content"
android:
layout_height="wrap_content"
android:
layout_alignBaseline="@+id/message"
android:
layout_alignBottom="@+id/message"
android:
layout_marginLeft="18dp"
android:
layout_toRightOf="@+id/message"
android:
src="@drawable/th_phone"
/>
android:
id="@+id/message"
android:
layout_width="wrap_content"
android:
layout_height="wrap_content"
android:
layout_alignParentLeft="true"
android:
layout_alignParentTop="true"
android:
layout_marginLeft="18dp"
android:
layout_marginTop="86dp"
android:
src="@drawable/th_message"
/>
android:
id="@+id/net"
android:
layout_width="wrap_content"
android:
layout_height="wrap_content"
android:
layout_alignBaseline="@+id/call"
android:
layout_alignBottom="@+id/call"
android:
layout_marginLeft="26dp"
android:
layout_toRightOf="@+id/call"
android:
src="@drawable/tb_intent"
/>
android:
id="@+id/calculator"
android:
layout_width="wrap_content"
android:
layout_height="wrap_content"
android:
layout_below="@+id/message"
android:
layout_marginTop="26dp"
android:
layout_toLeftOf="@+id/call"
android:
src="@drawable/th_calculator"
/>
android:
id="@+id/music"
android:
layout_width="wrap_content"
android:
layout_height="wrap_content"
android:
layout_alignLeft="@+id/call"
android:
layout_alignTop="@+id/calculator"
android:
src="@drawable/th_music"/>
3.3.2主界面背景图片设计
添加手机界面的背景图片,可以提高的欣赏性。
下面简单介绍添加背景图片的简单步骤。
首先,打开values文件下的styles.xml,添加如下代码:
windowBackground">@drawable/mianactivity
其次,打开工程目录下的AndroidManifest.xml文件,加载上面的图片。
新建一个新的Activity时,都需要在此文件声明,其加载图片代码和声明窗口代码如下:
windowBackground">@drawable/mianactivity
3.3.3主界面功能实现设计
此部分采用JAVA语言实现,创建MainActivity.iava文件,首先获取XML文件中的各个按钮的id,为每个按钮添加事件监听器,并且添加事件处理程序,当点击按钮时,就会创建Intent对象,跳转到相应的界面。
运行效果如图2-4所示。
MainActivity.iava文件的主要代码如所示:
publicclassMainActivityextendsActivity{
privateImageButtonbt_message;
privateImageButtonbt_tell;
privateI