栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

AS 类微信界面设计

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AS 类微信界面设计

目录

成果:

界面设计:

bottom:

top:

main:

JAVA

界面优化:


成果:

 

界面设计:

界面布局方面主要由顶部的top和下面的bottom和中间的main组成。

bottom:

bottom里面是一个大的LinearLayout里面包含四个小的LinearLayout,每个LinearLayout里面放一个图片imageview和一个textview,分别对应着聊天,看点,联系人和设置四个的图标和文本。每个设置下颜色,大小,位置等等。




    


        

        

    

    


        

        
    

    

        

        
    

    

        263+


        


    

top:

其次是top,里面一个LinearLayout里面加一个textview。然后设置下位置及字大小。效果如下:

 main:

最后将bottom和top放入main中。顺便在里面放一个Framlayout。得到界面。

JAVA

其次是fragment方面,界面上有聊天,看点,联系人,设置四个片段,也就是说要写四个fragment以及一个主的java文件。

四个fagment文件创建后,取聊天为例子,java不变,layout如图所示。

四个文件分别命名为fragment_talk,fragment_new,fragment_friend,fragment_setting。分别对应聊天,看点,联系人,设置四个选项。

最后是mainactivity文件。

先定义:

    private FragmentManager fragmentManager;
    private Fragment Fragment_talk = new fragment_talk();
    private Fragment Fragment_new = new fragment_new();
    private Fragment Fragment_friend = new fragment_friend();
    private Fragment Fragment_setting = new fragment_setting();

    private LinearLayout linearLayout1,linearLayout2,linearLayout3,linearLayout4;

    private ImageView imageView1,imageView2,imageView3,imageView4;
    private TextView textView1,textView2,textView3,textView4;

然后取出对应:

  private void initFragment()
    {
     fragmentManager=getFragmentManager();
     FragmentTransaction transaction =fragmentManager.beginTransaction();
     transaction.add(R.id.id_content,Fragment_talk);
     transaction.add(R.id.id_content,Fragment_new);
     transaction.add(R.id.id_content,Fragment_friend);
     transaction.add(R.id.id_content,Fragment_setting);
     transaction.commit();
    }

 最后展示加监听(监听是很重要的,因为要时时刻刻对界面进行监听反馈来触发按动转换):

private void showfragment(int i) {
        FragmentTransaction transaction=fragmentManager.beginTransaction();
        hideFragment(transaction);
        switch (i){
            case 0:
                transaction.show(Fragment_talk);
                break;
            case 1:
                transaction.show(Fragment_new);
                break;
            case 2:
                transaction.show(Fragment_friend);
                break;
            case 3:
                transaction.show(Fragment_setting);
                break;
            default:
                break;
        }
        transaction.commit();
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.liaotian:
                showfragment(0);
                break;
            case R.id.kandian:
                showfragment(1);
                break;
            case R.id.lianxiren:
                showfragment(2);
                break;
            case R.id.shezhi:
                showfragment(3);
                break;
            default:
                break;
        }
    }

界面优化:

虽然成功实现功能,但是没有做到切换时能有光暗效果,现在来做一下优化。

 private void changeColor(int i)   //创建改变颜色的函数
            {
                imageView1.setImageResource(R.drawable.talk2);
                imageView2.setImageResource(R.drawable.new2);
                imageView3.setImageResource(R.drawable.friend2);
                imageView4.setImageResource(R.drawable.setting2);
                textView1.setTextColor(Color.rgb(255, 255, 255));
                textView2.setTextColor(Color.rgb(255, 255, 255));
                textView3.setTextColor(Color.rgb(255, 255, 255));
                textView4.setTextColor(Color.rgb(255, 255, 255));

                switch (i) {
                    case 0:
                        imageView1.setImageResource(R.drawable.talk2);
                        textView1.setTextColor(Color.rgb(18, 150, 219));
                        break;
                    case 1:
                        imageView2.setImageResource(R.drawable.new2);
                        textView2.setTextColor(Color.rgb(18, 150, 219));
                        break;
                    case 2:
                        imageView3.setImageResource(R.drawable.friend2);
                        textView3.setTextColor(Color.rgb(18, 150, 219));
                        break;
                    case 3:
                        imageView4.setImageResource(R.drawable.setting2);
                        textView4.setTextColor(Color.rgb(18, 150, 219));
                        break;
                    default:
                        break;

                }
            }

加入changecolor后,之前的代码中也要加入该函数,最后变成如下:

  public void onClick(View v) {
        switch (v.getId()) {
            case R.id.liaotian:
                showfragment(0);
                changeColor(0);
                break;
            case R.id.kandian:
                showfragment(1);
                changeColor(1);
                break;
            case R.id.lianxiren:
                showfragment(2);
                changeColor(2);
                break;
            case R.id.shezhi:
                showfragment(3);
                changeColor(3);
                break;
            default:
                break;
        }
    }

最后附上源码仓库地址:

花如锦/funnyguy

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/301529.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号