成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

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

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

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

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

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

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

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

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

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

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

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

android 仿微信demo——微信啟動界面實(shí)現(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()抽象方法實(shí)現(xiàn)頁面延遲后跳轉(zhuǎn)activity(通過Intent),Handler().postDelayed是運(yùn)行在主線程里的,這個開啟的Runnable()接口會在這個Handler所依附線程中運(yùn)行,而這個Handler是在UI線程中創(chuàng)建的,所以自然地依附在主線程中了,且new Handler().postDelayed(new Runnable())沒有重新生成新的 New Thread()

android 仿微信demo——微信啟動界面實(shí)現(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, 實(shí)現(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è)置布局 } //登錄按鈕點(diǎn)擊事件處理方法 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 } //注冊按鈕點(diǎn)擊事件處理方法 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 }}

因?yàn)槲⑿艈咏缑娴膬蓚€按鈕點(diǎn)擊會跳轉(zhuǎn)相應(yīng)界面(登錄,注冊,后面會實(shí)現(xiàn)這個功能),所以上面代碼除了設(shè)置布局(包含圖片及兩個按鈕),還有兩個按鈕的點(diǎn)擊事件處理方法(頁面跳轉(zhuǎn),通過Itent實(shí)現(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://www.piao2010.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寬高也是繼承父類(相對布局),也是充滿屏幕,所以要使按鈕在底部且離底部和左右兩邊有一點(diǎn)的距離,就要通過layout_align(相對布局用的屬性,參數(shù)為id,即以id的組件為參照物)和layout_margin(頁邊距,即離邊上的距離)實(shí)現(xiàn),然后給兩個按鈕的背景設(shè)置自定義的selector文件,實(shí)現(xiàn)按鈕在獲取和沒有獲取焦點(diǎn)時顯示不同的圖片

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

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

android 仿微信demo——微信啟動界面實(shí)現(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——微信啟動界面實(shí)現(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——微信啟動界面實(shí)現(xiàn)

測試

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

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

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

總結(jié)

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

標(biāo)簽: 微信
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲色图自拍| 欧美精品三级日韩久久| 欧美日韩国产综合一区二区| 国产v综合v亚洲欧| 亚洲日本一区二区| 精品国产自在久精品国产| 欧美日韩三级电影在线| 美女视频黄 久久| 中文一区在线播放| 欧美久久久久久蜜桃| 欧美久久久久| 成人午夜电影网站| 首页国产欧美久久| 久久只精品国产| 欧美亚洲国产一区二区三区va | 亚洲视频观看| 97久久人人超碰| 国产一二三精品| 五月天网站亚洲| 中文字幕的久久| 日韩欧美国产综合| 欧洲生活片亚洲生活在线观看| 女女同性精品视频| 国产剧情一区二区三区| 亚洲成人激情社区| 国产精品美女久久久久久久久| 日韩一区二区免费视频| 国产精品亚洲不卡a| 欧美日韩视频| av成人动漫在线观看| 国产一区二区三区香蕉| 石原莉奈在线亚洲二区| **性色生活片久久毛片| 久久久亚洲精品一区二区三区| 欧美肥妇free| 欧美日韩免费一区二区三区| 色婷婷精品久久二区二区蜜臀av| 在线国产精品一区| 国产精品草草| 欧美日韩在线播放一区二区| 欧美高清不卡| 欧美日本韩国一区二区三区| 欧美黄色精品| 欧美特黄一区| 欧美日韩国产精品一卡| 国产不卡在线视频| 国产露脸91国语对白| 国产麻豆欧美日韩一区| 国产麻豆视频一区二区| 国产一区91精品张津瑜| 另类成人小视频在线| 三级精品在线观看| 久久99国产精品免费| 久久99热狠狠色一区二区| 蜜桃av噜噜一区| 日本网站在线观看一区二区三区| 午夜在线电影亚洲一区| 三级影片在线观看欧美日韩一区二区| 日韩vs国产vs欧美| 麻豆精品视频在线观看| 国产激情偷乱视频一区二区三区| jvid福利写真一区二区三区| 欧美成人免费在线| 国产精品久久九九| 久久久久久自在自线| 日本电影欧美片| 欧洲人成人精品| 欧美一级黄色录像| 亚洲国产精品传媒在线观看| 亚洲免费在线看| 蜜臀av性久久久久蜜臀aⅴ | 久久www成人_看片免费不卡| 欧美日韩精品欧美日韩精品| 久久久久久久久久久99999| 亚洲欧洲综合另类在线| 免费看精品久久片| 成人99免费视频| 在线综合欧美| 色偷偷一区二区三区| 欧美成人伊人久久综合网| 1024国产精品| 久久不见久久见中文字幕免费| 成人av在线播放网站| 国产精品日韩欧美一区二区| 欧美性欧美巨大黑白大战| 欧美成人免费网站| 一区二区三区精品久久久| 美国三级日本三级久久99| 972aa.com艺术欧美| 国产精品一卡| 日韩午夜小视频| 一区二区欧美精品| 不卡在线观看av| 在线成人国产| 欧美日韩国产高清一区二区三区| 精品嫩草影院久久| 视频一区视频二区中文字幕| 欧美1区2区视频| 欧美性一级生活| 亚洲日本va午夜在线影院| 国内精品久久久久影院薰衣草 | 亚洲欧美日韩视频二区| 91精品在线免费| 日韩毛片视频在线看| 激情五月激情综合网| 亚洲欧洲日本国产| 日韩视频免费直播| 亚洲午夜精品17c| 欧美日韩在线观看一区二区三区| 91传媒视频在线播放| 日韩毛片精品高清免费| 97久久超碰精品国产| 在线观看视频一区二区欧美日韩| 国产精品第13页| 91年精品国产| 欧美一区二区不卡视频| 麻豆成人免费电影| 一区二区三区福利| 亚洲精品在线电影| 久久99久久久欧美国产| 久久riav二区三区| 亚洲综合激情网| 国产一区二区你懂的| 亚洲一卡二卡三卡四卡 | 久久精品日韩一区二区三区| 国产在线一区二区综合免费视频| 久久精品人人做人人爽电影蜜月| 日本一区二区三区四区在线视频| 国产精品1区2区| 欧美体内she精视频| 亚洲123区在线观看| 日韩视频一区| 亚洲精选视频免费看| 亚洲国产精品日韩| 国产精品护士白丝一区av| 91丝袜美腿高跟国产极品老师| 亚洲精品一区在线观看| 99国内精品久久| 国产视频911| 91视视频在线直接观看在线看网页在线看 | 91在线观看免费视频| 日韩一区二区精品在线观看| 国产在线观看免费一区| 91精品婷婷国产综合久久竹菊| 国产成人h网站| 久久久久久久久岛国免费| av亚洲精华国产精华精华| 精品国产乱码久久久久久老虎| 国产成人午夜精品5599| 日韩一级免费一区| 成人h动漫精品| 中文字幕免费观看一区| 国产一区二区中文| 中文字幕亚洲综合久久菠萝蜜| 精品1区2区3区4区| 亚洲欧美一区二区久久| 红桃视频国产一区| 亚洲国产精品欧美一二99| 在线观看日韩精品| 国产综合成人久久大片91| 欧美一级在线免费| 欧美日韩三区| 日本中文字幕不卡| 91精品国产综合久久精品app| 成人99免费视频| 亚洲欧美成aⅴ人在线观看| 国产精品人人爽人人做我的可爱| 污片在线观看一区二区| 欧美猛男男办公室激情| www.亚洲在线| 一色屋精品亚洲香蕉网站| 中文亚洲免费| 国产原创一区二区三区| 国产欧美日韩综合| 国产日本精品| 麻豆国产欧美一区二区三区| 日韩免费看的电影| 亚洲精品一二| 国产精品91一区二区| **性色生活片久久毛片| 91精品在线观看入口| 狠久久av成人天堂| 极品少妇xxxx精品少妇偷拍 | 欧美涩涩网站| 性久久久久久久| 精品入口麻豆88视频| 国产手机视频一区二区| 国产一区二区毛片| 一区二区三区在线免费播放 | 麻豆成人久久精品二区三区红 | 亚洲高清视频在线观看| 精品无码三级在线观看视频| 久久久亚洲高清| 在线视频欧美区| 欧美精品福利| 精彩视频一区二区| 亚洲成人资源在线| 综合久久一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 欧美亚洲一区|