移动开发技术【安卓】——Android_Studio【Part 1】_android studio transaction-程序员宅基地

技术标签: Android开发  java  android-studio  开发语言  

这里是学习过程,正在记录/....

索引目录

前言:

工具介绍:

首页基础界面框架:

1.top.xml【微信头部】

2.bottom.xml【微信尾部】

3.FramentContentView【四个中间的部分】

4.最终效果

 存在问题:

写在最后:


前言:

        移动开发也称为手机开发,或叫做移动互联网开发,移动应用开发等。是指以手机、PDA、UMPC等便携终端为基础,进行相应的开发工作,由于这些随身设备基本都采用无线上网的方式,因此,业内也称作为无线开发。

        那么我们将对于移动开发技术——Android_Studio【安卓】进行学习记录。本次学习过程会以微信界面为参照进行整体设计模仿。


工具介绍:

        使用工具为Andro Studio 2021.1.1.22的版本,软件安装与环境搭配此处不做说明。

【一些实用较为通用的快捷键】

        1、重写接口:Ctrl + Shift + o

        2、删除一行:Ctrl + Y

        3、自动纠错: Ctrl + 回车

        4、切换界面: Ctrl + tab

        5、添加构造函数、set、get等:alt + insert

        在对Android Studio的使用中,我们创建项目选择的是Empty Activity,即空项目。  创建后MainActivity的java文件也是对应主界面代码文件。         

         开发时会有两种视图帮助我们开发,下面的图即为Design模式和code模式,即通过视图和代码两种方式。

【design】

 【code】


首页基础界面框架:

        主界面初步我们需要分别建立几个页面,最基础包括头部、尾部、以及中间的fragment部分。我们所做的就是分别做出几个页面后,将它们组合在一起,然后去实现其相关联的功能。

1.top.xml【微信头部】

        头部结构很简单,它的布局为LinearLayout,同时只有一个TextView,然后改变文字和设置底色,效果就出来了。

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:text="微信"
        android:textColor="@color/black"
        android:textSize="30sp" />
</LinearLayout>

 

2.bottom.xml【微信尾部】

        对于尾部,包含四个图表,同时具有相关的功能。从结构上看,整体设置水平的布局,内部嵌入四个垂直布局的layout,每个部分含有图片和textView(文字)。但是每个小的布局需要位置关联。

    <LinearLayout
        android:id="@+id/tab01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#C3BDBD"
            app:srcCompat="@drawable/tab_weixin_pressed" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#C3BDBD"
            android:gravity="center"
            android:text="微信"
            android:textColor="#000000" />
    </LinearLayout>

......(部分)

3.FramentContentView【四个中间的部分】

        中间四个部分,即四个按钮对应的界面,在我们点击的时候,会有对应的切换效果。这里暂时只用文字标注。设置对应界面的id为tab01、tab02、tab03、tab04。

        那如何实现点击这一功能的实现?

        在MainActivity.java文件中,首先初始化方面,针对四个页面也有四个用来显示的java文件,那么我们需要在主界面进行new对象引入。

        weixinFragment = new weixinFragment();
        friendFragment = new friendFragment();
        contactFragment = new contactFragment();
        settingFragment = new settingFragment();

        同时对于界面视图,我们通过id进行索引导入。

        tab01 =findViewById(R.id.tab01);
        tab02 =findViewById(R.id.tab02);
        tab03 =findViewById(R.id.tab03);
        tab04 =findViewById(R.id.tab04);

       在界面显示的时候,微信界面要显示,其他需要隐藏。

    private void initalfragement() {
        FragmentTransaction transaction = fm.beginTransaction();//开始做transaction
        transaction.add(R.id.content,weixinFragment);
        transaction.add(R.id.content,friendFragment);
        transaction.add(R.id.content,contactFragment);
        transaction.add(R.id.content,settingFragment);
        Hide(transaction);
        transaction.show(weixinFragment);
        transaction.commit();

        对于动作进行监听。

        tab01.setOnClickListener(this);
        tab02.setOnClickListener(this);
        tab03.setOnClickListener(this);
        tab04.setOnClickListener(this);
    public void onClick(View v) {//点击后操作
        switch (v.getId()){
            case R.id.tab01: show(1); break;
            case R.id.tab02: show(2); break;
            case R.id.tab03: show(3); break;
            case R.id.tab04: show(4); break;
            default: break;
        }
    }

4.最终效果

 

 


 存在问题:

         在界面切换的时候,实则对于按钮的状态应该会有颜色的变化,但是这一点还未实现,后面会继续完善。


写在最后:

通过整体的设计后,我们初步了解了整个UI界面的实现过程,了解相关属性和控件,但是整体条理还不是非常清晰,希望多多指教。

gitee:https://gitee.com/with-zero/android_-studion_-mobile.git

With_Zero 2022.3.21

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_61067829/article/details/123646538

智能推荐

《第一行代码》(第二版)广播的问题及其解决_代码里的广播错误-程序员宅基地

文章浏览阅读2.6k次,点赞5次,收藏13次。1)5.2.1弹出两次已连接或者未连接这是因为你同时打开了流量和WiFi,他就会发出两次广播。2)5.3.1中发送自定义广播问题标准广播未能弹出消息:Intent intent=new Intent("com.example.broadcasttest.MY_BROADCAST");sendBroadcast(intent);上述已经失效了。修改:Intent intent=new Intent("com.example.broadcasttest...._代码里的广播错误

K8s 学习者绝对不能错过的最全知识图谱(内含 58个知识点链接)-程序员宅基地

文章浏览阅读249次。作者 |平名 阿里服务端开发技术专家导读:Kubernetes 作为云原生时代的“操作系统”,熟悉和使用它是每名用户的必备技能。本篇文章概述了容器服务 Kubernet..._k8知识库

TencentOS3.1安装PHP+Nginx+redis测试系统_tencentos-3.1-程序员宅基地

文章浏览阅读923次。分别是etc/pear.conf,etc/php-fpm.conf, etc/php-fpm.d/www.conf,lib/php.ini。php8安装基本一致,因为一个服务期内有2个版本,所以注意修改不同的安装目录和端口号。可以直接使用sbin下的nginx命令启动服务。完成编译安装需要gcc支持,如果没有,使用如下命令安装。安装过程基本一致,下面是安装7.1.33的步骤。执行如下命令,检查已经安装的包和可安装的包。执行如下命令,检查已经安装的包和可安装的包。执行如下命令,检查已经安装的包和可安装的包。_tencentos-3.1

urllib.request.urlopen()基本使用_urllib.request.urlopen(url)-程序员宅基地

文章浏览阅读3.1w次,点赞21次,收藏75次。import urllib.requesturl = 'https://www.python.org'# 方式一response = urllib.request.urlopen(url)print(type(response)) # <class 'http.client.HTTPResponse'># 方式二request = urllib.request.Req..._urllib.request.urlopen(url)

如何用ChatGPT+GEE+ENVI+Python进行高光谱,多光谱成像遥感数据处理?-程序员宅基地

文章浏览阅读1.5k次,点赞12次,收藏15次。如何用ChatGPT+GEE+ENVI+Python进行高光谱,多光谱成像遥感数据处理?

RS485总线常识_rs485 差分走綫間距-程序员宅基地

文章浏览阅读1.2k次。RS485总线常识 2010-10-12 15:56:36| 分类: 知识储备 | 标签:rs485 总线 传输 差分 |字号大中小 订阅RS485总线RS485采用平衡发送和差分接收方式实现通信:发送端将串行口的TTL电平信号转换成差分信号A,B两路输出,经过线缆传输之后在接收端将差分信号还原成TTL电平信号。由于传输线通常使用双绞线,又是差分传输,所_rs485 差分走綫間距

随便推点

移植、制作uboot、Linux(一)_uboot制作-程序员宅基地

文章浏览阅读621次。u-boot、linux烧录_uboot制作

windows下安装git和gitbash安装教程_64-bit git for windows setup.-程序员宅基地

文章浏览阅读1.2w次,点赞10次,收藏44次。windos上git安装,git bash安装_64-bit git for windows setup.

环形链表(算法java)_java 实现环形链表-程序员宅基地

文章浏览阅读196次。环形链表(算法java)的两种解决方法_java 实现环形链表

docker部署Airflow(修改URL-path、更换postgres -->myslq数据库、LDAP登录)_airflow docker-程序员宅基地

文章浏览阅读5.7k次。Airflow什么是 Airflow?Airflow 的架构Airflow 解决哪些问题一、docker-compose 安装airflow(postgres)1、创建启动文件airflow-docker-compose.yml.1.1、添加挂载卷,需要修改airflow-docker-compose.yml的位置2、创建本地配置文件airflow.cfg2.1、如果想修改WEB URL地址,需要修改airflow.cfg中以下两个地方3、之后up -d直接启动即可web访问地址:二、存储数据库更换post_airflow docker

计算机毕业设计springboot高校教务管理系统532k79【附源码+数据库+部署+LW】-程序员宅基地

文章浏览阅读28次。选题背景:随着社会的发展和教育的普及,高校教务管理系统在现代高等教育中扮演着至关重要的角色。传统的手工管理方式已经无法满足高校日益增长的规模和复杂的管理需求。因此,开发一套高效、智能的教务管理系统成为了当今高校管理的迫切需求。选题意义:高校教务管理系统的开发具有重要的意义和价值。首先,它可以提高高校教务管理的效率和准确性。通过自动化处理学生选课、排课、考试安排等繁琐的事务,大大减轻了教务人员的工作负担,提高了工作效率。同时,系统可以实时更新学生信息和课程信息,减少了数据错误和冗余,保证了管理的准确性

javaint接收float_Java Integer转换double,float,int,long,string-程序员宅基地

文章浏览阅读132次。首页>基础教程>常用类>常用 Integer类Java Integer转换double,float,int,long,stringjava中Integer类可以很方便的转换成double,float,int,long,string等类型,都有固定的方法进行转换。方法double doubleValue() //以 double 类型返回该 Integer 的值。flo..._java integet接收float类型的参数

推荐文章

热门文章

相关标签