标签:AndroidStudio java
- 基本的界面控件
图片1
控件所具有的基本属性如:控件的宽度,控件高度,组件id,控件的gravary等
下面通过几次的作业来讲解下用到的控件
- 图片2
在这里用到了一个LinearLayout布局控件,设置orientetion竖直显示然后再这个控件下去布局了TextView,EditText,Button控件;就实现了这样的界面效果
xml代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:orientation="vertical"
tools:context="com.example.administrator.myapplication.MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="#DBDBDB"
android:gravity="center"
android:text="登录界面"
android:textSize="22sp"/>
<EditText
android:id="@+id/ev_useName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入用户名"/>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#000000" />
<EditText
android:id="@+id/ev_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入密码"/>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#000000" />
<Button
android:id="@+id/btn_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="登录"
android:textSize="20sp"/>
</LinearLayout>
- 登录界面
- 图片3
为了实现图中点击Button获取用户名和密码这一效果
在.java 在中定义了对象EditText ev_userName,ev_password
并在view获取它们和button对象,然后为Button设置一个监听器,监听Button事件 在事件中设置了一个Toast,当点击Button是显示用户名和密码
java代码如下
public class MainActivity extends AppCompatActivity {
private EditText ev_userName,ev_password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ev_userName= (EditText) findViewById(R.id.ev_useName);
ev_password= (EditText) findViewById(R.id.ev_password);
Button button = (Button)findViewById(R.id.btn_login);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View argO){
String userName = ev_userName.getText().toString();
String password = ev_password.getText().toString();
Toast.makeText(MainActivity.this,"用户名:"+userName+"密码:"+password, Toast.LENGTH_LONG).show();
}
});
}
}
- 个人信息维护界面
图片4
在这里除了应用了登录界面的控件外,还用到了ImageView来展示图片头像,在RadioGroup中用RadioButton来实现性别的单选和在我喜欢的专业下用到了ChaxBox可以实现多选功能
ximl代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="com.example.administrator.personalmessage.PersonalMessage"
android:weightSum="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textSize="20sp"
android:text="头像" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@mipmap/ic_launcher"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/txt_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓 名"
android:textSize="20sp" />
<EditText
android:id="@+id/edt_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="20" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性 别"
android:textSize="20sp" />
<RadioGroup
android:id="@+id/group_xx"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/btn_man"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="男"/>
<RadioButton
android:id="@+id/btn_woman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="女"/>
</RadioGroup>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="我喜欢的课程:" />
<CheckBox
android:id="@+id/chk_java"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="java"/>
<CheckBox
android:id="@+id/chk_c"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="c"/>
<CheckBox
android:id="@+id/chk_math"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="高数"/>
<Button
android:id="@+id/btn_confirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="显示"
android:background="@color/colorPrimary"
android:layout_weight="0.09" />
</LinearLayout>
个人信息维护界面实现的事件也是点击Button后弹出姓名 性别与喜欢的专业,与登录界面的事件实现效果一样 就不说明
- 菜单
图片5
在.java中重载onCreateOptionsMenu方法创建一个主菜单 ,设置两个子菜单“保存”和“删除”。然后为菜单注册事件 要重载onOptionsItemSelected方法,当点击主菜单中任一子菜单时会弹出一个Toast。
java代码如下
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(Menu.NONE,Menu.FIRST+1,0,"删除").setIcon(android.R.drawable.ic_menu_delete);
menu.add(Menu.NONE,Menu.FIRST+2,1,"保存").setIcon(android.R.drawable.ic_menu_edit);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case Menu.FIRST + 1:
Toast.makeText(this, "hhhhhhh", Toast.LENGTH_SHORT).show();
break;
case Menu.FIRST + 2:
Toast.makeText(this, "wwwww了", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
- 对话框
图片6
在上一菜单界面中创建对话框要使用Builder方法
创建一个对话框 还要创建取消按钮和确定按钮
代码如下:
case Menu.FIRST + 3:
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("呵呵呵呵");
builder.setPositiveButton("确定",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialogInterface, int i){
dialogInterface.dismiss();
}
});
builder.setNegativeButton("取消",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialogInterface, int i){
dialogInterface.dismiss();
}
});
builder.setNeutralButton("退出",null);
builder.create().show();
break;
这里的代码是在onOptionsItemSelected方法中,同时还要在主菜单menu.NONE中创建一个子菜单
主要问题
由于java面向对象只学了一点所以对于.Java中的代码输入理解起来有点困难,有些方法的调用也很陌生。总结
在这章的学习知道了如何运用控件对界面进行布局同时和事件的实现