安卓移动开发技术--微信界面设计

1.内容:请根据课程实现App门户界面框架设计,至少包含4个tab页,能实现tab页之间的点击切换;

2.技术:使用布局和分段,对控件进行点击监听

实现界面展示:

一.界面布局分析

1.先对button.xml界面进去设计分析,下面是显示的界面

 

 2.分别建立四个.xml文件tab01.xml,tab02.xml,tab03.xml,tab04.xml,显示所需的四个界面的文本内容,图片如下所示。

(1)tab01.xml

2.

 2.tab02.xml

 3.tab03.xml

 4.tab04.xml

 activity_main.xml主要代码如下:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><includelayout="@layout/top"android:layout_width="match_parent"android:layout_height="wrap_content" /><FrameLayoutandroid:id="@+id/id_content"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"></FrameLayout><includelayout="@layout/button"android:layout_width="match_parent"android:layout_height="147dp" /></LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

二.实现界面之间的跳转

通过建立4个Fragment,将4个Fragment文件放入java文件中。

通过fragment的代码与4个.xml文件相连接。如下展示一个fragment代码:

由于四个代码类似,这里只展示一个,然后对四个控件进行监听。

核心代码如下:

public class MainActivity extends AppCompatActivity {private Fragment fragment1,fragment2,fragment3,fragment4;private LinearLayout linearLayout1,linearLayout2,linearLayout3,linearLayout4;private FragmentTransaction transaction;private ImageView img01,img02,img03,img04;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);fragment1=new Fragment1();fragment2=new Fragment2();fragment3=new Fragment3();fragment4=new Fragment4();linearLayout1=findViewById(R.id.LinearLayout1);linearLayout2=findViewById(R.id.LinearLayout2);linearLayout3=findViewById(R.id.LinearLayout3);linearLayout4=findViewById(R.id.LinearLayout4);img01=findViewById(R.id.imageView1);img02=findViewById(R.id.imageView2);img03=findViewById(R.id.imageView3);img04=findViewById(R.id.imageView4);initFragment();linearLayout1.setOnClickListener(this::onClick);linearLayout2.setOnClickListener(this::onClick);linearLayout3.setOnClickListener(this::onClick);linearLayout4.setOnClickListener(this::onClick);}private void initFragment(){FragmentManager fragmentManager=getSupportFragmentManager();FragmentTransaction transaction=fragmentManager.beginTransaction();transaction.add(R.id.id_content, fragment1);transaction.add(R.id.id_content, fragment2);transaction.add(R.id.id_content, fragment3);transaction.add(R.id.id_content, fragment4);hideFragment(transaction);transaction.show(fragment1);transaction.commit();}public void onClick(View view){int i=0;switch (view.getId()){case R.id.LinearLayout1:showFragment(0);break;case R.id.LinearLayout2:showFragment(1);break;case R.id.LinearLayout3:showFragment(2);break;case R.id.LinearLayout4:showFragment(3);break;default:break;}}public void showFragment(int i){FragmentManager  fragmentManager=getSupportFragmentManager();FragmentTransaction transaction=fragmentManager.beginTransaction();hideFragment(transaction);switch (i){case 0:transaction.show(fragment1);ResetImage();img01.setImageResource(R.drawable.weixin2);break;case 1:transaction.show(fragment2);ResetImage();img02.setImageResource(R.drawable.tongxunlu2);break;case 2:transaction.show(fragment3);ResetImage();img03.setImageResource(R.drawable.find2);break;case 3:transaction.show(fragment4);ResetImage();img04.setImageResource(R.drawable.my2);break;default:break;}transaction.commit();}private void hideFragment(FragmentTransaction transaction){transaction.hide(fragment1);transaction.hide(fragment2);transaction.hide(fragment3);transaction.hide(fragment4);}private void ResetImage(){img01.setImageResource(R.drawable.weixin);img02.setImageResource(R.drawable.tongxunlu);img03.setImageResource(R.drawable.find);img04.setImageResource(R.drawable.find);}
}

界面效果如下:

 

 

 

三.总结

这次项目实现的是类微信界面,功能主要是通过监听实现tab页的切换,本次项目过程中遇到了许多问题,首先,一开始初始化界面没有绑定监听,导致中间内容无法正常显示,其次,设置图像时没有考虑到切换的效果,最后通过查质料解决,设置不同颜色点击切换效果。总之,通过本次实验,我学到了很多安卓开发函数的调用。

代码仓库:GitHub - Q13971500510/Qjy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37944.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移动开发--类vx界面

一、开发目标 创建一个类似vx的界面&#xff0c;具有vx、通讯录、发现、我 四个tab&#xff0c;可通过点击实现切换 二、代码解析 写4个tab&#xff0c;用作vx 、通讯录、发现、我四个界面 一个top.xml 一个bottom.xml 一个framelayout作为容器 mainactivity如下&#x…

【餐厅点餐平台|四】UI设计+效果展示

餐厅点餐平台导航 【餐厅点餐平台&#xff5c;一】项目描述需求分析 https://blog.csdn.net/weixin_46291251/article/details/126414430 【餐厅点餐平台&#xff5c;二】总体设计 https://blog.csdn.net/weixin_46291251/article/details/126422811 【餐厅点餐平台&#xff5…

【餐饮】智慧餐厅原型模板,餐饮APP,餐饮后台管理系统,Axure设计餐饮APP

软件版本&#xff1a;Axure 8.0&#xff08;兼容9和10&#xff09; 作品介绍&#xff1a; 作品包括用户端、员工端以及商户管理&#xff08;后台管理&#xff09; 客户端&#xff1a; 外卖点餐&#xff1a;菜品列表、菜品详情、确认订单、地址管理、修改电话、支付订单 堂食点…

基于Androidstudio餐厅点餐选座系统

完成“餐厅点餐系统”的设计。餐厅点餐系统是一个适用于餐饮行业和消费者的软件&#xff0c;顾客可以使用该系统自动点餐&#xff0c;也可到店后由服务人员点餐&#xff0c;系统管理员进行后台管理。 build.gradle (Module: app) 包含当前项目的applicationId、最小适配的Andro…

【花雕学AI】ChatGPT能用表情包猜电影,你能猜出来吗?揭秘它的神奇「涌现」能力

关于作者斯蒂芬 我是田纳西州纳什维尔的一名科学作家&#xff0c;负责数学、物理学、天文学和癌症研究。我的书Math Art: Truth, Beauty, and Equations 将于 2019 年 4 月出版。我在后院改建的办公室棚子里工作。我是范德比尔特大学的驻校作家&#xff0c;教授科学传播课程。 …

chatgpt赋能python:Python数据分析中如何快速取到一列数据

Python 数据分析中如何快速取到一列数据 在 Python 数据分析中&#xff0c;我们经常需要取到表格中的某一列数据进行分析或可视化。下面介绍了几种方法&#xff0c;可帮助您快速有效地取得所需要的数据。 1. 使用 Pandas 包获取数据 Pandas 是 Python 中非常常用的数据分析库…

【花雕学AI】09:发挥ChatGPT最大潜力——产生高质量内容的九种方法和建议

人工智能&#xff08;AI&#xff09;是当今科技领域最热门和最有前景的话题之一&#xff0c;它已经渗透到了我们生活和工作的方方面面&#xff0c;给我们带来了许多便利和惊喜。而在AI的众多分支中&#xff0c;自然语言处理&#xff08;NLP&#xff09;是最贴近人类的一个领域&…

AI教父Hinton与OpenAI CEO Sam Altman领头预警:AI可能灭绝人类!

整理 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 经过不到一年的时间&#xff0c;AI 的发展超乎所有人的想象&#xff0c;也大有失控的风险。 就在今天&#xff0c;全球部分顶尖的 AI 研究员、工程师和 CEO 就他们认为 AI 对人类构成的生存威胁发出了新…

多位知名学者最新警告「AI 可能灭绝人类」,ChatGPT 之父和 AI 教父都参与联名,如何理解?

警告“AI可能灭绝人类”是指一些知名学者和专家对于未来人工智能发展的担忧&#xff0c;他们认为如果AI发展得不受控制&#xff0c;可能会导致人类的灭绝。其中&#xff0c;ChatGPT之父和AI教父分别指的是OpenAI的创始人和AI领域的一些权威人物。 这种担忧主要源于以下几个方…

什么是ChatGPT?GPT4和3.5有什么不同

相信今天大家都被GPT刷屏了&#xff0c;我可以使用GPT帮我写文章框架&#xff0c;诗歌&#xff0c;作文等等。 那么&#xff0c;GPT究竟是什么呢&#xff1f; ChatGPT全称为“chat Generative Pre-trained Transformer”&#xff0c;翻译成中文就是生成型预训练变换模型&#…

不直播不露脸也能做短视频变现,想挣点生活费试试这些玩法

大家好&#xff0c;我是我赢助手短视频运营&#xff0c;最近一直有小伙伴问我&#xff0c;做了好久的短视频一直不赚钱&#xff0c;今天总结了一下&#xff0c;做了90天短视频还没赚了试试这5种易变现的玩法。 新手不直播不露脸也能做短视频变现&#xff0c;想在斗音挣点生活费…

实不相瞒,我做海外TikTok搬运视频一年的收入,可能是你10年的工资

被疫情偷走的这几年&#xff0c;听到的关键词几乎都是“难”&#xff0c;“很难”&#xff0c;“非常难”。 裁员成常态&#xff0c;收入大缩水&#xff0c;但花钱的地方却越来越多。 天天熬&#xff0c;夜夜熬。 最终换来的&#xff0c;是口袋空荡荡&#xff0c;日子紧巴巴。 …

短视频获客达人软件详情,精准截流app

互联网99%的项目离不开流量&#xff0c;流量所在之处&#xff0c;必有金钱相随。对于创业者来讲&#xff0c;更要注重精准引流的积累&#xff0c;或许引流没泛流量简单粗暴&#xff0c;但是賺钱更简单&#xff0c;选择互联网创业不是急功近利的儿戏&#xff0c;创业项目就应该有…

用Java代码实现双色球彩票

模拟整个双色球彩票的购买、开奖和中奖流程 一、双色球玩法规则&#xff1a; 1、投注&#xff1a; &#xff08;1&#xff09;双色球投注区分为红色球号码区和蓝色球号码区&#xff0c;&#xff08;2&#xff09;红色球号码区由1-33共三十三个号码组成&#xff0c;蓝色球号码…

c#文案语音配图片一键生成视频

高手略过吧&#xff0c;功能太简单&#xff0c;我自己都不好意思。。 这个是我自己的需要&#xff0c;做产品类的短视频&#xff0c;东搞西搞剪辑啊啥的&#xff0c;特别麻烦&#xff0c;所以先搞这个最简版&#xff0c;以后再一步步丰富功能。 需求&#xff1a;几张图片生成…

周鸿祎的AI野望

图片&#xff5c;Photo by BoliviaInteligente on Unsplash ©自象限原创 作者&#xff5c;罗辑 编辑&#xff5c;黑豆 排版&#xff5c;李帛锦 可能是大模型&#xff0c;把周鸿祎激活了。 6月27日&#xff0c;周鸿祎&#xff0c;突然晒出了清华大学的博士录取通知书…

张朝阳王石夏伯渝《雪山上的对话》:攀越生死极限,征服永不停步

雷递网 乐天 4月15日 搜狐创始人、董事局主席兼首席执行官张朝阳&#xff0c;与深石集团创始人王石、中国首位用义肢登顶珠峰的登山家夏伯渝相约丽江玉龙雪山&#xff0c;开始了一场来自“雪山上的对话”。 雪山不仅是旅游景点&#xff0c;更是自然生态系统的重要组成部分&…

国产激光雷达第一股诞生/ 周鸿祎称企业不做ChatGPT将被淘汰/雷军要让小米汽车进世界前五…今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 好消息&#xff1a;今天星期五。 “坏”消息&#xff1a;听说下周开学&#xff0c;各家小朋友寒假作业写完了嘛&#xff1f; &#xff08;像我这样&#xff09;不用赶作业的友友&#xff0c;来一起看看今日份科技要闻放松放松吧~ 雷军…

Meta与微软联手推出开源大型语言模型Llama 2;程序员如何优雅地做副业

&#x1f989; AI新闻 &#x1f680; Meta与微软联手推出开源大型语言模型Llama 2 摘要&#xff1a;Meta和微软近期合作发布了名为Llama 2的开源大型语言模型。该模型旨在帮助开发者和组织构建生成式人工智能工具和体验。Azure客户可以更轻松、安全地在Azure平台上微调和部署…

Python兼职私活接单方法大曝光,这4种方法你知道吗?教你月入三万!

挣钱方法1:接外包爬虫项目 这是网络爬虫最通常的的挣钱方式&#xff0c;通过外包网站&#xff0c;熟人关系接一个个中小规模的爬虫项目&#xff0c;一般向甲方提供数据抓取&#xff0c;数据结构化&#xff0c;数据清洗等服务。 各位新入行的猿人看官大多都会先尝试这个方向&a…