android实现微信发现界面 Android实现微信界面
大家好,我是云百科的客服小柏,我来为大家解答以上问题。android实现微信发现界面,Android实现微信界面很多人还不知道,现在让我们一起来看看吧!
解答:
1、 新建一个Android项目,将图片粘贴到/res/drawable-hdpi目录下;
2、 在/layout下,新建一个top.xml;采用LinearLayout(垂直););
3、 把高度改成45dp:Android:layout_height="45dp";
4、 将背景设置为title_bar:Android:background="@drawable/title_bar"
5、 设置相对于父组件的中心对齐:Android3360gravity="center"
6、 设置字体名称:android:text="微信"
7、 设置字体颜色:Android:textcolor="#ffffff"6f。
8、 设置字体大小:Android:textsize="25dp="25dp"
9、 在/layout下新建一个bottom.xml,达到如下效果;
10、 从图片中可以看出,整体布局是横向的,但是内部每个部分上面有图,下面有文字,所以每个部分都是纵向布局;
11、 在垂直布局中,先添加ImageView,再添加TextView;
12、 具体代码如下:
13、 将top.xml和bottom.xml添加到主布局;
14、 主界面效果图如下:
15、 明明是竖排线性布局,先加竖排线性布局;
16、 主界面中要包含之前创建的top.xml和bottom.xml,添加这两个布局时要选择【包含其他布局】;
17、 加了两个版面后,发现不是原来的大小。此时,修改xml文件,删除设置宽度和高度的代码。没关系。要特别注意。删除,不要注释掉,注释会给出错误。
18、 根据效果图,上面是顶,下面是底,中间是显示内容。显示内容应该是FrameLlayout。一开始,这三块内容会挤在一起。此时只需在FrameLayout中添加属性android:layout_weight="1",并设置比例即可。
19、 接口交换
20、 当我们点击下面的图标时,中间区域要显示不同的内容,所以需要做三种不同的布局来实现不同的切换;
21、 创建三个交换布局tab01.xml、tab02.xml和tab03.XML;布局不足;在这三个界面上,只需要一个TextView就可以显示不同的单词。
22、 创建这些布局文件后,必须显示它们。这些布局显示在用于叠加层的FrameLayout中。
23、 让我们创建一个新的Fragment01.java来继承这个片段。选择导入的包时注意包支持V4,重写onCreateView()方法,按照下面的代码写就可以了:
24、 记住这个固定用法就好!
25、 每个tab界面需要写一个这样的类,复制粘贴三个就可以了;
26、 写onCreateView()方法的时候,不需要代码在旁边敲,只需要写一个oncreatev,然后alt/提醒就出来了;
27、 添加事件响应
28、 要通过点击图标来切换界面,就得添加事件响应,所以主界面要实现OnClickListener接口;
29、 碎片如何切换?您可以根据以下代码加载页面:
30、 fragmentmanagerFM=getSupportFragmentManager();
31、 fragmenttransactiontransaction=FM.begintransaction();
32、 fragment01fm01=newfragment01();
33、 transaction.replace(r.id.content,fm01);
34、 transaction.commit();
35、 在替换代码中,要替换中间部分的FrameLayout,还需要先在布局中指定FrameLayout的id号;
36、 但是因为有三页,而且每页都是这样写的,所以会有一些重复的代码,所以最好把这个函数写成一个方法:同时把MainActivity改成继承FragmentActivity;
37、 在这种情况下,在onClick()中,您只需要编写:
38、 要切换界面,首先要点击对应的图标,这个图标在bottom.xml中,图标的布局是linearlayout,所以首先要获取三个图标所在的三个线性布局;
39、 您需要预先为三个linearlayout指定id号;
40、 最好记得登记监控事件。为了让点击的区域更大,最好在整个布局中加入监控事件;
41、 特别是在整个代码中,初始化组件的部分被写入一个initView()方法,但是这个方法被写入onCreate()。
42、到目前为止,我们运行代码之后,能实现界面之间的切换,但是运行之后,主界面没有任何内容;
43、正常的微信运行之后,主界面就是微信的内容,所以我们应该在MainActivity中的onCreate()方法中,添加:selectTab(0);
44、这样,运行代码之后,主界面直接是第一个图标微信的内容;selectTab()是界面切换的方法,选0是指第一个界面;
45、实现点击哪个图标,哪个图标就变亮;
46、实现原理就是,当点击这个图标时,这个图标的图片更改成点击状态的图片,简单地说就是替换图片;
47、替换图片,我们首先得获取到图片的id,所以要声明并且初始化;
48、因为是点击的时候才需要替换图片,所以我们将替换图标的代码写到切换界面的监听事件中;
49、在这里需要注意的是:
50、本步骤中,因为要使用ImageView,所以要初始化这些图片组件,初始化组件的内容写在initView()中,如图所示:
51、但是这里,我们需要将initView()方法写到selectTab(0)之前,否则会出现【已经停止工作的错误】!
52、更改位置之后,就不会出现错误了!
53、本步骤要实现的是,点击哪个图标,哪个图标就变亮了!
54、但是,当我们去点击第二个图标时,之前点击的那个图标并没有变暗;
55、实现点击第二个图标,之前点击的那个图标就变暗;
56、要使图标变暗,也就是让图标显示normal状态下的图片;所以写一个方法设置这些图标都是normal状态的;
57、写好这个方法之后,我们需要考虑,到底把这个方法放在哪里?也就是什么时候调用这个方法?
58、我们要实现的是,点击第二个图标,第一个就变暗,所以应该放在点击之后,也就是事件监听之后;
59、需要明确的是,每次点击,都会调用事件监听的方法;
60、所以放在事件监听方法onClick()方法中,当我们点击时,所以图标先全部变暗,然后点击哪个图标,哪个就调用selectTab(),而selectTab()方法中有实现让这个图标变亮的方法,所以这个图标就会变亮;
61、所以darkImage()方法的位置是:
62、运行的时候,如果出现Android模拟器变黑屏(图标的图片挡住所有屏幕),或者,当你点击第二个按钮时,第一个按钮的图标消失了,成了一个黑色的方块,那么重新运行一次代码就可以了,可能是因为图片加载时出现问题;
63、去项目的名字:
64、当我们运行代码时,会在顶部出现项目的名称,hello,影响美观,如何去掉?
本文到此讲解完毕了,希望对大家有帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
最近收到一位患者的留言,说自己这几天总感觉肛门有下坠胀感,特别难受,上网一查,好多信息都指向癌症,这可...浏览全文>>
-
腹痛、腹泻总反复!可能是小肠、大肠在抗议。基于症状特征区分小肠疾病与大肠疾病的具体差异分析:一、核心症状...浏览全文>>
-
近日,中国中医药信息学会肛肠分会·肿瘤分会·治未病分会·河北名医学会肛肠分会·盆底与便秘分会·河北省中...浏览全文>>
-
安徽蚌埠的长安启源E07作为一款备受关注的新能源车型,其价格和配置一直是消费者热议的话题。如果你正考虑入手...浏览全文>>
-
近年来,随着新能源汽车市场的快速发展,插电式混合动力车型逐渐成为消费者关注的焦点。生活家PHEV作为一款备...浏览全文>>
-
在2025款生活家PHEV车型正式上市之前,提前了解相关费用明细对于购车者来说至关重要。这款插电式混合动力车型...浏览全文>>
-
大众途昂作为一款中大型SUV,凭借其宽敞的空间和强劲的动力配置,在市场上一直拥有不错的口碑。对于计划购买20...浏览全文>>
-
阜阳地区的长安启源Q05 2025款车型凭借其时尚的外观设计和丰富的配置,吸引了众多消费者的关注。这款车型作为...浏览全文>>
-
阜阳揽巡作为一款备受关注的中型SUV,凭借其豪华的配置和超值的价格吸引了众多消费者的目光。这款车不仅在外观...浏览全文>>
-
淮南长安启源A07自上市以来便凭借其卓越的性能和亲民的价格赢得了众多消费者的青睐。作为2025款的新车型,它在...浏览全文>>