电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

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

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

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

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

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

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

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

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

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

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

android 仿微信demo——微信啟動(dòng)界面實(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)頁(yè)面new Handler().postDelayed(new Runnable() { @Override public void run() {/*頁(yè)面跳轉(zhuǎn)到微信包括按鈕的啟動(dòng)頁(yè)面*/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è)置布局(一張圖片),通過(guò)new Handler().postDelayed(new Runnable(){})并重寫(xiě)Runnable()接口的run()抽象方法實(shí)現(xiàn)頁(yè)面延遲后跳轉(zhuǎn)activity(通過(guò)Intent),Handler().postDelayed是運(yùn)行在主線(xiàn)程里的,這個(gè)開(kāi)啟的Runnable()接口會(huì)在這個(gè)Handler所依附線(xiàn)程中運(yùn)行,而這個(gè)Handler是在UI線(xiàn)程中創(chuàng)建的,所以自然地依附在主線(xiàn)程中了,且new Handler().postDelayed(new Runnable())沒(méi)有重新生成新的 New Thread()

android 仿微信demo——微信啟動(dòng)界面實(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>

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

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

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();/* 頁(yè)面跳轉(zhuǎn)到登錄界面*/intent.setClass(com.example.wxchatdemo.Welcome.this, LoginUser.class);startActivity(intent);this.finish(); //結(jié)束當(dāng)前activity } //注冊(cè)按鈕點(diǎn)擊事件處理方法 public void welcome_register(View v) {Intent intent = new Intent();/*頁(yè)面跳轉(zhuǎn)到注冊(cè)界面*/intent.setClass(com.example.wxchatdemo.Welcome.this, com.example.wxchatdemo.Reigister.class);startActivity(intent);this.finish(); //結(jié)束當(dāng)前activity }}

因?yàn)槲⑿艈?dòng)界面的兩個(gè)按鈕點(diǎn)擊會(huì)跳轉(zhuǎn)相應(yīng)界面(登錄,注冊(cè),后面會(huì)實(shí)現(xiàn)這個(gè)功能),所以上面代碼除了設(shè)置布局(包含圖片及兩個(gè)按鈕),還有兩個(gè)按鈕的點(diǎn)擊事件處理方法(頁(yè)面跳轉(zhuǎn),通過(guò)Itent實(shí)現(xiàn))

創(chuàng)建activity Welcome.java對(duì)應(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.hdgsjgj.cn/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='注冊(cè)' android:textColor='#00FF00' android:textSize='18sp' /> </RelativeLayout></LinearLayout>

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

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

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

android 仿微信demo——微信啟動(dòng)界面實(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>

注冊(cè)按鈕的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——微信啟動(dòng)界面實(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——微信啟動(dòng)界面實(shí)現(xiàn)

測(cè)試

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

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

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

總結(jié)

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

標(biāo)簽: 微信
相關(guān)文章:
主站蜘蛛池模板: 洛阳网站建设_洛阳网站优化_网站建设平台_洛阳香河网络科技有限公司 | 撕碎机,撕破机,双轴破碎机-大件垃圾破碎机厂家 | 垃圾压缩设备_垃圾处理设备_智能移动式垃圾压缩设备--山东明莱环保设备有限公司 | 热回收盐水机组-反应釜冷水机组-高低温冷水机组-北京蓝海神骏科技有限公司 | 耳模扫描仪-定制耳机设计软件-DLP打印机-asiga打印机-fitshape「飞特西普」 | Honsberg流量计-Greisinger真空表-气压计-上海欧臻机电设备有限公司 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 智能型高压核相仪-自动开口闪点测试仪-QJ41A电雷管测试仪|上海妙定 | 武汉宣传片制作-视频拍摄-企业宣传片公司-武汉红年影视 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | 济南网站建设_济南网站制作_济南网站设计_济南网站建设公司_富库网络旗下模易宝_模板建站 | 上海租奔驰_上海租商务车_上海租车网-矢昂汽车服务公司 | 网优资讯-为循环资源、大宗商品、工业服务提供资讯与行情分析的数据服务平台 | 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 | 广州展览设计公司_展台设计搭建_展位设计装修公司-众派展览装饰 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 | HDPE土工膜,复合土工膜,防渗膜价格,土工膜厂家-山东新路通工程材料有限公司 | 耐压仪-高压耐压仪|徐吉电气| 上海阳光泵业制造有限公司 -【官方网站】 | [官网]叛逆孩子管教_戒网瘾学校_全封闭问题青少年素质教育_新起点青少年特训学校 | 标准光源箱|对色灯箱|色差仪|光泽度仪|涂层测厚仪_HRC大品牌生产厂家 | SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 锂离子电池厂家-山东中信迪生电源| 溶氧传感器-pH传感器|哈美顿(hamilton)| 杭州顺源过滤机械有限公司官网-压滤机_板框压滤机_厢式隔膜压滤机厂家 | 中天寰创-内蒙古钢结构厂家|门式刚架|钢结构桁架|钢结构框架|包头钢结构煤棚 | 钢丝绳探伤仪-钢丝绳检测仪-钢丝绳探伤设备-洛阳泰斯特探伤技术有限公司 | YJLV22铝芯铠装电缆-MYPTJ矿用高压橡套电缆-天津市电缆总厂 | 贝壳粉涂料-内墙腻子-外墙腻子-山东巨野七彩贝壳漆业中心 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 注塑_注塑加工_注塑模具_塑胶模具_注塑加工厂家_深圳环科 | 活性炭厂家-蜂窝活性炭-粉状/柱状/果壳/椰壳活性炭-大千净化-活性炭 | 深圳南财多媒体有限公司介绍 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 杭州高温泵_热水泵_高温油泵|昆山奥兰克泵业制造有限公司 | 新疆系统集成_新疆系统集成公司_系统集成项目-新疆利成科技 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 |