【Android原生开发】易记(记账功能+朋友圈功能)

项目背景

项目为大学时Android课布置的作业,作业要求为有记账功能,登录功能、以及仿照微信朋友圈做一个朋友圈动态功能。

界面展示

项目为三年前开发的,界面并未更改,丑就丑一点吧
【Android原生开发】易记(记账功能+朋友圈功能)_第1张图片【Android原生开发】易记(记账功能+朋友圈功能)_第2张图片【Android原生开发】易记(记账功能+朋友圈功能)_第3张图片【Android原生开发】易记(记账功能+朋友圈功能)_第4张图片【Android原生开发】易记(记账功能+朋友圈功能)_第5张图片【Android原生开发】易记(记账功能+朋友圈功能)_第6张图片【Android原生开发】易记(记账功能+朋友圈功能)_第7张图片【Android原生开发】易记(记账功能+朋友圈功能)_第8张图片【Android原生开发】易记(记账功能+朋友圈功能)_第9张图片【Android原生开发】易记(记账功能+朋友圈功能)_第10张图片【Android原生开发】易记(记账功能+朋友圈功能)_第11张图片【Android原生开发】易记(记账功能+朋友圈功能)_第12张图片
【Android原生开发】易记(记账功能+朋友圈功能)_第13张图片【Android原生开发】易记(记账功能+朋友圈功能)_第14张图片

运行视频

运行视频

代码

GitHub项目

特色

【Android原生开发】易记(记账功能+朋友圈功能)_第15张图片
这里提一下这个DongTaiRecycleViewMultipleAdapter适配器,为朋友圈动态提供服务的,里边枚举了几种不同的布局,比如图片布局、音频布局、视频的布局、只有文字的布局、链接的布局。

    public enum ITEM_TYPE {
        picture,
        music,
        video,
        onlyword,
        linklist
    }

对于不同的类别,填充不同的布局

    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        if (viewType == ITEM_TYPE.picture.ordinal()) {
            return new pictureViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.dongtai_recycleview_message_item_picture, parent, false));
        }else if(viewType==ITEM_TYPE.music.ordinal()){
            return new musicViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.dongtai_recycleview_message_item_music, parent, false));
        }else if(viewType==ITEM_TYPE.video.ordinal()){
            return new videoViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.dongtai_recycleview_message_item_video, parent, false));
        }else if(viewType==ITEM_TYPE.linklist.ordinal()){
            return new linklistViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.dongtai_recycleview_message_item_linklist, parent, false));
        }else{
            return new onlywordViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.dongtai_recycleview_message_item_onlyword, parent, false));
        }
    }

找布局文件中的控件,设置按钮点击的监听事件

public static class pictureViewHolder extends RecyclerView.ViewHolder {
        ImageView imageView ;
        TextView textView ;
        TextView textView1;
        TextView textView2;
        TextView textstate;
        MyGridView gridView;
        Button button;
        TextView comments;
        TextView likelist;
        ImageView imageView1;

        pictureViewHolder(@NonNull View view) {
            super(view);
            imageView = view.findViewById(R.id.user_logo);
            textView = view.findViewById(R.id.user_id);
            textView1 = view.findViewById(R.id.picture_user_describtion);
            textView2 = view.findViewById(R.id.time_picture);
            textstate = view.findViewById(R.id.picture_textState);
            gridView = view.findViewById(R.id.pictures);
            button = view.findViewById(R.id.more_button_picture);
            comments = view.findViewById(R.id.picturecomment);
            likelist = view.findViewById(R.id.picturelikelist);
            imageView1 = view.findViewById(R.id.picturelikelogo);
            textstate.setClickable(true);
            textstate.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if(textstate.getText().toString().equals("全文")){
                        textstate.setText("收缩");
                        textView1.getLayoutParams().height = 700;
                    }else{
                        textstate.setText("全文");
                        textView1.getLayoutParams().height = 220;
                    }
                }
            });

        }
    }

你可能感兴趣的:(Android原生开发,android)