移动开发新手上路,第一个手机端微信界面Demo

       本文是我根据所学习到的移动开发知识,跟着老师上课写的第一个小项目。是一个手机端微信界面的框架,下面附上MainActivity的java代码供大家参考。文末附上完整代码的gitee地址。

下面是MainActivity文件代码。

package com.example.weChat;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;

import android.content.DialogInterface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
 private Fragment mtab01=new weixinFragment();
    private Fragment mtab02=new friendFragment();
    private Fragment mtab03=new contactFragment();
    private Fragment mtab04=new setFragment();
    private FragmentManager fm;

    private  LinearLayout mtabweixin;
    private  LinearLayout mtabfrd;
    private  LinearLayout mtabaddress;
    private  LinearLayout mtabset;
    private  ImageButton mimgweixin;
    private  ImageButton mimgfrd;
    private  ImageButton mimgaddress;
    private  ImageButton mimgset;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        initFragment();
   initEvent();

        selectfragment(0);

    }
    private  void initFragment(){
        fm=getSupportFragmentManager();
        FragmentTransaction transaction=fm.beginTransaction();
        transaction.add(R.id.id_content,mtab01);
        transaction.add(R.id.id_content,mtab02);
        transaction.add(R.id.id_content,mtab03);
        transaction.add(R.id.id_content,mtab04);
        transaction.commit();
    }

    private  void initView(){

        mtabweixin=(LinearLayout) findViewById(R.id.weixin);
        mtabfrd=(LinearLayout) findViewById(R.id.frd);
        mtabaddress=(LinearLayout) findViewById(R.id.contact);
        mtabset=(LinearLayout) findViewById(R.id.setting);

        mimgweixin=findViewById(R.id.imageButton1);
        mimgfrd=findViewById(R.id.imageButton2);
        mimgaddress=findViewById(R.id.imageButton3);
        mimgset=findViewById(R.id.imageButton4);
    }
  private  void initEvent(){
        mtabweixin.setOnClickListener(this);
      mtabfrd.setOnClickListener(this);
      mtabaddress.setOnClickListener(this);
      mtabset.setOnClickListener(this);
  }
    private void hidefragment(FragmentTransaction transaction){

        transaction.hide(mtab01);
        transaction.hide(mtab02);
        transaction.hide(mtab03);
        transaction.hide(mtab04);
    }
    private  void  selectfragment(int i){
        FragmentTransaction transaction=fm.beginTransaction();
        hidefragment(transaction);
        switch (i){
            case 0:
                transaction.show(mtab01);
                mimgweixin.setImageResource(R.drawable.tab_weixin_pressed);
                break;
            case 1:
                transaction.show(mtab02);
                mimgfrd.setImageResource(R.drawable.tab_find_frd_pressed);
                break;
            case 2:
                transaction.show(mtab03);
                mimgaddress.setImageResource(R.drawable.tab_address_pressed);
                break;
            case 3:
                transaction.show(mtab04);
                mimgset.setImageResource(R.drawable.tab_settings_pressed);
                break;
            default:
                break;
        }
        transaction.commit();
    }

    @Override
    public void onClick(View v){
        resetimg();

        switch (v.getId()){
            case R.id.imageButton1:
                selectfragment(0);
              System.out.println(v.getId());
                break;
            case R.id.imageButton2:
                selectfragment(1);
                break;
            case R.id.imageButton3:
                selectfragment(2);
                break;
            case R.id.imageButton4:
                selectfragment(3);
                break;
            default:
                break;
        }

    }
    public  void  resetimg(){
        mimgweixin.setImageResource(R.drawable.tab_weixin_normal);
        mimgfrd.setImageResource(R.drawable.tab_find_frd_normal);
        mimgaddress.setImageResource(R.drawable.tab_address_normal);
        mimgset.setImageResource(R.drawable.tab_settings_normal);
    }

}

最后附上完整代码的gitee地址:https://gitee.com/Viviv123/weChat_Android-Studio/tree/master

发布了1 篇原创文章 · 获赞 1 · 访问量 38

猜你喜欢

转载自blog.csdn.net/weixin_43783725/article/details/104990006