标签:AndroidStudio javajavascript
控件所具备的基本属性如:控件的宽度,控件高度,组件id,控件的gravary等
下面经过几回的做业来说解下用到的控件java
在这里用到了一个LinearLayout布局控件,设置orientetion竖直显示而后再这个控件下去布局了TextView,EditText,Button控件;就实现了这样的界面效果
xml代码以下:android
<?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>
为了实现图中点击Button获取用户名和密码这一效果
在.java 在中定义了对象EditText ev_userName,ev_password
并在view获取它们和button对象,而后为Button设置一个监听器,监听Button事件 在事件中设置了一个Toast,当点击Button是显示用户名和密码app
java代码以下ide
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(); } }); } }
在这里除了应用了登陆界面的控件外,还用到了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后弹出姓名 性别与喜欢的专业,与登陆界面的事件实现效果同样 就不说明学习
在.java中重载onCreateOptionsMenu方法建立一个主菜单 ,设置两个子菜单“保存”和“删除”。而后为菜单注册事件 要重载onOptionsItemSelected方法,当点击主菜单中任一子菜单时会弹出一个Toast。
java代码以下ui
@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); }
在上一菜单界面中建立对话框要使用Builder方法
建立一个对话框 还要建立取消按钮和肯定按钮
代码以下:this
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中建立一个子菜单code
主要问题
因为java面向对象只学了一点因此对于.Java中的代码输入理解起来有点困难,有些方法的调用也很陌生。
总结 在这章的学习知道了如何运用控件对界面进行布局同时和事件的实现