日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

android 仿微信demo——微信啟動界面實現(xiàn)

瀏覽:214日期:2022-06-04 08:09:38
目錄微信啟動界面創(chuàng)建項目微信啟動界面實現(xiàn)測試總結(jié)微信啟動界面創(chuàng)建項目

android studio創(chuàng)建移動端項目

android 仿微信demo——微信啟動界面實現(xiàn)

android 仿微信demo——微信啟動界面實現(xiàn)

android 仿微信demo——微信啟動界面實現(xiàn)

微信啟動界面實現(xiàn)

當(dāng)?shù)谝淮吸c擊微信時會看到微信出現(xiàn)啟動界面(不包括兩個按鈕)停留大概一秒的時間,然后才進入包括兩個按鈕的啟動界面。按鈕在沒有獲取和獲取焦點時都有不同的圖片顯示,所以下面要實現(xiàn)這些功能

創(chuàng)建兩個activity其對應(yīng)的布局,一個activity顯示停留的界面(布局就是一張圖片),另一個activity顯示真正的啟動界面(布局包括圖片及兩個按鈕),創(chuàng)建兩個selector文件實現(xiàn)按鈕在沒有獲取和獲取焦點時顯示不同圖片。

創(chuàng)建activity AppStart.java, 實現(xiàn)頁面延遲跳轉(zhuǎn)

android 仿微信demo——微信啟動界面實現(xiàn)

android 仿微信demo——微信啟動界面實現(xiàn)

AppStart.java

package com.example.wxchatdemo;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;public class AppStart extends Activity { @Override public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.app_start); //設(shè)置布局//延遲一秒后跳轉(zhuǎn)頁面new Handler().postDelayed(new Runnable() { @Override public void run() {/*頁面跳轉(zhuǎn)到微信包括按鈕的啟動頁面*/Intent intent = new Intent(com.example.wxchatdemo.AppStart.this, com.example.wxchatdemo.Welcome.class);startActivity(intent);com.example.wxchatdemo.AppStart.this.finish(); //結(jié)束當(dāng)前activity }}, 1000); }}

上面代碼設(shè)置布局(一張圖片),通過new Handler().postDelayed(new Runnable(){})并重寫Runnable()接口的run()抽象方法實現(xiàn)頁面延遲后跳轉(zhuǎn)activity(通過Intent),Handler().postDelayed是運行在主線程里的,這個開啟的Runnable()接口會在這個Handler所依附線程中運行,而這個Handler是在UI線程中創(chuàng)建的,所以自然地依附在主線程中了,且new Handler().postDelayed(new Runnable())沒有重新生成新的 New Thread()

android 仿微信demo——微信啟動界面實現(xiàn)

app_start.xml

<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='fill_parent' android:layout_height='fill_parent' android:background='@drawable/welcome' ></LinearLayout>

上面代碼就是把線性布局(覆蓋屏幕)的背景換成一張圖片,相對簡單

創(chuàng)建activity Welcome.java, 實現(xiàn)跳轉(zhuǎn)后的頁面

Welcome.java

package com.example.wxchatdemo;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;public class Welcome extends Activity { @Override public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.welcome); //設(shè)置布局 } //登錄按鈕點擊事件處理方法 public void welcome_login(View v) {Intent intent = new Intent();/* 頁面跳轉(zhuǎn)到登錄界面*/intent.setClass(com.example.wxchatdemo.Welcome.this, LoginUser.class);startActivity(intent);this.finish(); //結(jié)束當(dāng)前activity } //注冊按鈕點擊事件處理方法 public void welcome_register(View v) {Intent intent = new Intent();/*頁面跳轉(zhuǎn)到注冊界面*/intent.setClass(com.example.wxchatdemo.Welcome.this, com.example.wxchatdemo.Reigister.class);startActivity(intent);this.finish(); //結(jié)束當(dāng)前activity }}

因為微信啟動界面的兩個按鈕點擊會跳轉(zhuǎn)相應(yīng)界面(登錄,注冊,后面會實現(xiàn)這個功能),所以上面代碼除了設(shè)置布局(包含圖片及兩個按鈕),還有兩個按鈕的點擊事件處理方法(頁面跳轉(zhuǎn),通過Itent實現(xiàn))

創(chuàng)建activity Welcome.java對應(yīng)的布局文件welcome.xml

welcome.xml

<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android: android:layout_width='fill_parent' android:layout_height='fill_parent' android:background='#eee' android:gravity='center' android:orientation='vertical'> <RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android'android:layout_width='match_parent'android:layout_height='match_parent'><ImageView android: android:layout_width='match_parent' android:layout_height='match_parent' android:background='@android:color/white' android:scaleType='fitXY' android:src='http://m.b3g6.com/bcjs/@drawable/wx_login_reigister' /><Button android: android:layout_width='100dp' android:layout_height='50dp' android:layout_alignLeft='@id/photoImageView' android:layout_alignBottom='@id/photoImageView' android:layout_marginLeft='20dp' android:layout_marginBottom='20dp' android:background='@drawable/btn_style_green' android:onClick='welcome_login' android:text='登錄' android:textColor='#ffffff' android:textSize='18sp' /><Button android: android:layout_width='100dp' android:layout_height='50dp' android:layout_alignRight='@id/photoImageView' android:layout_alignBottom='@id/photoImageView' android:layout_marginRight='20dp' android:layout_marginBottom='20dp' android:background='@drawable/btn_style_white' android:onClick='welcome_register' android:text='注冊' android:textColor='#00FF00' android:textSize='18sp' /> </RelativeLayout></LinearLayout>

上面代碼主要內(nèi)容,就是在線性布局里內(nèi)嵌一個相對布局且相對布局的寬高都是繼承父類(線性布局)的即充滿屏幕,而ImageView寬高也是繼承父類(相對布局),也是充滿屏幕,所以要使按鈕在底部且離底部和左右兩邊有一點的距離,就要通過layout_align(相對布局用的屬性,參數(shù)為id,即以id的組件為參照物)和layout_margin(頁邊距,即離邊上的距離)實現(xiàn),然后給兩個按鈕的背景設(shè)置自定義的selector文件,實現(xiàn)按鈕在獲取和沒有獲取焦點時顯示不同的圖片

創(chuàng)建控制welcome.xml布局的兩個按鈕的兩個selector.文件,實現(xiàn)按鈕沒有獲取或獲取焦點時的顯示不同的圖片

android 仿微信demo——微信啟動界面實現(xiàn)

android 仿微信demo——微信啟動界面實現(xiàn)

登錄按鈕的selector文件

btn_style_green.xml

<?xml version='1.0' encoding='UTF-8'?><selector xmlns:android='http://schemas.android.com/apk/res/android'> <item android:drawable='@drawable/btn_style_one_pressed' android:state_focused='false' android:state_pressed='true' /> <item android:drawable='@drawable/btn_style_one_normal' android:state_focused='false' /></selector>

注冊按鈕的selector文件

btn_style_white.xml

<?xml version='1.0' encoding='UTF-8'?><selector xmlns:android='http://schemas.android.com/apk/res/android'> <item android:drawable='@drawable/btn_style_two_pressed' android:state_focused='false' android:state_pressed='true' /> <item android:drawable='@drawable/btn_style_two_normal' android:state_focused='false' /></selector>

在AndroidMainfest.xml文件中聲明創(chuàng)建的activity

android 仿微信demo——微信啟動界面實現(xiàn)

AndroidMainfest.xml

<?xml version='1.0' encoding='utf-8'?><manifest xmlns:android='http://schemas.android.com/apk/res/android' package='com.example.wxchatdemo'> <applicationandroid:icon='@drawable/wx_logo_icon'android:label='@string/app_name'android:theme='@style/Theme.WxChatDemo'><activity android:name='.AppStart'> <intent-filter><action android:name='android.intent.action.MAIN' /><category android:name='android.intent.category.LAUNCHER' /> </intent-filter></activity><activity android:name='.Welcome' /> </application></manifest>

android 仿微信demo——微信啟動界面實現(xiàn)

測試

由于登錄,注冊跳轉(zhuǎn)的activity還沒有寫,所以運行項目測試前,要把這兩個跳轉(zhuǎn)的activity注釋掉,然后啟動項目測試。

android 仿微信demo——微信啟動界面實現(xiàn)

android 仿微信demo——微信啟動界面實現(xiàn)

總結(jié)

這篇關(guān)于微信demo的文章就到這里了,希望大家可以多多關(guān)注好吧啦網(wǎng)的更多精彩內(nèi)容!

標(biāo)簽: 微信
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
深夜日韩欧美| 欧美+日本+国产+在线a∨观看| 国产精品一站二站| 精品一区二区三区四区五区| 日本一二区不卡| 伊人久久在线| 99亚洲精品| 超碰成人av| av一区在线| 久久精品亚洲| 啪啪亚洲精品| 国产精品亚洲综合在线观看| 亚洲日本网址| 日本免费久久| 韩国女主播一区二区三区| 国产精品久久久久毛片大屁完整版| 青青草国产成人99久久| 亚洲一区有码| 久久亚州av| 蜜桃成人精品| 欧美日韩中文字幕一区二区三区 | 欧美日韩尤物久久| 亚洲婷婷在线| 亚洲欧美日韩国产一区二区| 好吊视频一区二区三区四区| 久久香蕉国产| 日韩精品一卡二卡三卡四卡无卡| 国产午夜精品一区二区三区欧美| 亚洲精品国产精品粉嫩| 日本不卡的三区四区五区| 在线精品亚洲| 久久99视频| 日韩av有码| 国产成人77亚洲精品www| 蜜桃成人精品| 老牛影视一区二区三区| 亚洲欧美日韩一区在线观看| 性欧美精品高清| 国产欧美在线| 国产午夜精品一区在线观看| 国产伦精品一区二区三区千人斩| 欧美一区激情| 中文字幕一区二区三区日韩精品| 成人久久一区| 午夜欧美精品| 亚洲第一区色| 蜜臀精品一区二区三区在线观看| 日本免费一区二区视频| 精品视频97| 蜜臀av免费一区二区三区| 亚州av乱码久久精品蜜桃| 国产精品xxx| 日韩精品欧美精品| 亚洲激情中文| 亚洲理论在线| 欧美中文一区二区| 亚洲国产综合在线看不卡| 国产精品白丝久久av网站| 亚洲欧美成人综合| 日韩精品欧美大片| 久久久亚洲欧洲日产| 欧美美女一区| 日韩中文一区二区| 亚州av乱码久久精品蜜桃| 亚洲精品91| 亚洲精品一级| 日本视频一区二区| 久久三级中文| 色婷婷精品视频| 日韩伦理一区| 精品中文在线| 美女网站一区| 国产主播一区| 亚洲黄页一区| 日韩av一级片| 丝袜美腿亚洲一区二区图片| 日韩一区三区| 在线观看亚洲精品福利片| 一区二区精彩视频| 婷婷亚洲成人| 国产精品久久观看| 亚洲精一区二区三区| 日韩久久一区二区三区| 久久性天堂网| 日韩午夜一区| 国产一区丝袜| 国产精品magnet| 亚洲免费播放| 欧美午夜不卡| 亚洲欧美日韩高清在线| 国产精品成人a在线观看| 婷婷综合社区| 国产精品99久久免费观看| 日韩久久一区二区三区| 国产一区不卡| 欧美丝袜一区| 麻豆成人在线观看| 高清久久一区| 国产精品任我爽爆在线播放| 免费毛片在线不卡| 国产精品久av福利在线观看| 国产婷婷精品| 日韩午夜在线| 久久久久91| 日本精品另类| 天使萌一区二区三区免费观看| 中文无码日韩欧| 欧美~级网站不卡| 亚洲国产不卡| 亚洲精品一区二区妖精| 正在播放日韩精品| 国产精品3区| 国产亚洲高清在线观看| 欧美国产偷国产精品三区| 亚洲黄色网址| 激情丁香综合| 男人的天堂亚洲一区| 亚洲三级欧美| 精品一级视频| 久久在线电影| 亚洲一区二区三区免费在线观看| 久草免费在线视频| 日韩激情视频网站| 喷白浆一区二区| 国产精品视频3p| 超碰超碰人人人人精品| 国产精品99久久精品| 免费久久99精品国产| 国产亚洲欧洲| 伊人久久一区| 国产亚洲精aa在线看| 亚洲天堂av影院| 久久久成人网| 精品国内亚洲2022精品成人| 亚洲va久久久噜噜噜久久| 国产美女视频一区二区| 久久在线91| 宅男在线一区| 99精品电影| 九九在线精品| 婷婷亚洲成人| 欧美女激情福利| 91精品综合| 精品免费在线| 精品一区二区三区在线观看视频| 欧美日韩午夜电影网| 国产欧美一区二区三区国产幕精品 | 欧美日韩中文一区二区| 日韩手机在线| 欧美成人国产| 蜜桃av一区二区| 蜜桃精品在线| 久久激情中文| 国产日韩欧美一区在线| 久久亚洲国产| 亚洲人成高清| 黑森林国产精品av| 日韩一二三区在线观看| 国产免费播放一区二区| 韩日一区二区三区| 9国产精品视频| 激情欧美一区| 日韩精品三区四区| 99re国产精品| 亚洲深夜av| 久久夜夜操妹子| 91免费精品国偷自产在线在线| 青青青免费在线视频| 国产精品宾馆| 免费一级欧美在线观看视频| 蜜桃视频在线网站| 成人片免费看| 亚洲欧美日韩国产| 亚洲日本国产| 欧美日韩 国产精品| 香蕉久久久久久久av网站| 国产一区二区三区不卡视频网站| 国产精品美女久久久| 91精品一区二区三区综合在线爱 | 欧美久久久网站| 国产精品视频一区二区三区四蜜臂| 欧美在线亚洲| 久久高清精品| 成人国产精品| 国产精品www.| 国产欧美一区二区三区国产幕精品 | 日本午夜精品视频在线观看| 久久视频国产| 日韩在线短视频| 你懂的国产精品永久在线| 亚州av一区| 蜜臀av国产精品久久久久| 久久久久午夜电影| 成人国产精品一区二区网站| 亚洲深深色噜噜狠狠爱网站| 亚洲精品在线二区| 亚洲久久一区| 最近高清中文在线字幕在线观看1| 亚洲自啪免费| 国产精品videossex|