標籤: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中的代碼輸入理解起來有點困難,有些方法的調用也很陌生。
總結 在這章的學習知道了如何運用控件對界面進行佈局同時和事件的實現