詳解Android Studio實(shí)現(xiàn)用戶(hù)登陸界面demo(xml實(shí)現(xiàn))
使用Android Studio 編寫(xiě)的第一個(gè)demo,使用布局文件—xml實(shí)現(xiàn)用戶(hù)登錄界面
注:所建工程均為Android 6.0 所以只要是Android 6.0(包括6.0)以上的真機(jī),模擬機(jī)都可以使用
Step1:Android Studio 開(kāi)發(fā)環(huán)境的搭建:
1.安裝JDK (1.8);2.安裝Android studio (3.3.1) 包含 gradle、sdk manage 、avd manage ;3.使用sdk manage 下載安裝 sdk;4.使用avd manages 創(chuàng)建虛擬機(jī)
Step2: 新建工程項(xiàng)目Myapp2.0
1.在res/layout/activity_main.xml中編寫(xiě)布局內(nèi)容:
<LinearLayout android:layout_width='match_parent' android:layout_height='match_parent' android:orientation='vertical' android:paddingLeft='55px' android:paddingRight='50px' tools:context='.MainActivity'> <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_marginStart='@dimen/activity_horizontal_margin' android:layout_marginLeft='@dimen/activity_horizontal_margin' android:layout_marginTop='@dimen/activity_vertical_margin' android:text='Hello Word!' app:layout_constraintLeft_toLeftOf='parent' app:layout_constraintTop_toTopOf='parent' /> <View android:layout_width='match_parent' android:layout_height='2px' android:layout_marginTop='16px' android:background='#000000' /> <TextView android:layout_width='wrap_content' android:layout_height='wrap_content' android:textSize='28dp' android:layout_gravity='center_horizontal' android:layout_marginTop='20px' android:text='登陸界面' /><LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal' > <EditText android: android:layout_width='280dp' android:layout_height='wrap_content' android:layout_marginTop='30dp' android:paddingLeft='10dp' android:hint='請(qǐng)輸入賬號(hào)' android:inputType='text'/> <ImageView android: android:layout_width='25dp' android:layout_height='25dp' android:layout_marginTop='37dp' android:src='http://www.aoyou183.cn/bcjs/@drawable/delete' /></LinearLayout> <LinearLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:orientation='horizontal' android:paddingLeft='8px'> <EditText android: android:layout_width='280dp' android:layout_height='wrap_content' android:layout_marginTop='26dp' android:hint='請(qǐng)輸入密碼' android:inputType='textPassword' /> <ImageView android: android:layout_width='25dp' android:layout_height='25dp' android:layout_marginTop='33dp' android:src='http://www.aoyou183.cn/bcjs/@drawable/delete' /></LinearLayout> <Button android: android:layout_width='match_parent' android:layout_height='48dp' android:background='@color/bbutton_danger_disabled_edge' android:layout_marginTop='30dp' android:text='登 陸' android:textSize='30dp' android:textColor='@color/bbutton_danger'/> <Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:textSize='15dp' android:layout_gravity='right' android:layout_marginTop='20px' android:background='@color/bbutton_danger' android:text='Adapter' /> </LinearLayout>
2.創(chuàng)建一個(gè)Java class —ExitTextUtils用于封裝清空輸入框的內(nèi)容 :
/** * 用于實(shí)現(xiàn)點(diǎn)擊叉叉時(shí) , 清空輸入框的內(nèi)容 */ class EditTextUtils { public static void clearButtonListener(final EditText et, final View view) { // 取得et中的文字 String etInputString = et.getText().toString(); // 根據(jù)et中是否有文字進(jìn)行X可見(jiàn)或不可見(jiàn)的判斷 if (TextUtils.isEmpty(etInputString)) { view.setVisibility(View.INVISIBLE); } else { view.setVisibility(View.VISIBLE); } //點(diǎn)擊X時(shí)使et中的內(nèi)容為空 view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {et.setText('');et.requestFocusFromTouch(); } }); //對(duì)et的輸入狀態(tài)進(jìn)行監(jiān)聽(tīng) et.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) {if (s.length() == 0) { view.setVisibility(View.INVISIBLE);} else { view.setVisibility(View.VISIBLE);} } }); }}
3.在MainActivity.java 里書(shū)寫(xiě)代碼:
private TextView mTextMessage;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); EditText et1 = (EditText) findViewById(R.id.et1); EditText et2 = (EditText) findViewById(R.id.et2); View bt = findViewById(R.id.bt1); View iv = findViewById(R.id.bt2); EditTextUtils.clearButtonListener(et1, bt); EditTextUtils.clearButtonListener(et2, iv); Button btn1 = (Button) findViewById(R.id.bbt1); btn1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ //Intent是一種運(yùn)行時(shí)綁定(run-time binding)機(jī)制,它能在程序運(yùn)行過(guò)程中連接兩個(gè)不同的組件,在存放資源代碼的文件夾下下, Intent i = new Intent(MainActivity.this , Main2ActivityAdapterDemo.class); //啟動(dòng) startActivity(i); } }); mTextMessage = (TextView) findViewById(R.id.message); BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation); navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);}
4.布局使用到的資源:
自己建的用于存放自定義的文件 dimens.xml
<resources> <!-- Default screen margins, per the Android Design guidelines. --> <dimen name='activity_horizontal_margin'>16dp</dimen> <dimen name='activity_vertical_margin'>16dp</dimen> <dimen name='text_size_16'>22dp</dimen> <dimen name='space_8'>8</dimen> <dimen name='space_16'>16</dimen> <dimen name='fab_margin'>16dp</dimen></resources>
color.xml
<?xml version='1.0' encoding='utf-8'?><resources> <color name='colorPrimary'>#008577</color> <color name='colorPrimaryDark'>#00574B</color> <color name='colorAccent'>#D81B60</color> <color name='main_gray'>#CCCCCC</color> <color name='main_black'>#000000</color> <color name='bbutton_danger_disabled_edge'>#00CC33</color> <color name='bbutton_danger'>#FFFFFF</color></resources>
截圖
Step3:運(yùn)行程序。。。截圖如下:
下載地址:[LoginDemo.zip]
到此這篇關(guān)于詳解Android Studio實(shí)現(xiàn)用戶(hù)登陸界面demo(xml實(shí)現(xiàn))的文章就介紹到這了,更多相關(guān)Android Studio用戶(hù)登陸內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. idea設(shè)置自動(dòng)導(dǎo)入依賴(lài)的方法步驟2. ASP基礎(chǔ)入門(mén)第八篇(ASP內(nèi)建對(duì)象Application和Session)3. XML入門(mén)精解之結(jié)構(gòu)與語(yǔ)法4. Idea如何去除Mapper警告方法解析5. IntelliJ IDEA設(shè)置編碼格式的方法6. idea設(shè)置代碼格式化的方法步驟7. idea自定義快捷鍵的方法步驟8. IntelliJ IDEA設(shè)置條件斷點(diǎn)的方法步驟9. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法10. idea重置默認(rèn)配置的方法步驟
