当前位置:   article > 正文

Android Studio——类微信界面设计_android studio微信界面代码

android studio微信界面代码
  • 设计目标:Android studio制作简易类微信界面。
  • 功能:展示四个可切换界面,当点击下方按钮时,界面随之切换。
  • 布局:顶部和底部layout、主页面(中间放一个framelayout显示界面内容)。点击的四个button要对应四个界面的xml文件(tab01.xml,tab02.xml,tab03.xml,tab04.xml) 

 1、顶部layout

在res->layout中新建一个top.xml文件,拖入一个TextView,文本内容显示为“We Chat”,文本颜色(textColor)设置为白色,文本大小(textSize)这里设置为“35sp”,背景设置为黑色,同时设置文本居中

效果如下:

            

 代码如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="50dp"
  5. android:gravity="center"
  6. android:background="@color/cardview_dark_background"
  7. android:orientation="vertical">
  8. <TextView
  9. android:id="@+id/textView"
  10. android:layout_width="wrap_content"
  11. android:layout_height="wrap_content"
  12. android:layout_gravity="center_horizontal"
  13. android:text="We Chat"
  14. android:textColor="@color/white"
  15. android:textSize="35sp"/>
  16. </LinearLayout>

 2、底部layout

在res->layout中新建一个bottom.xml文件,每个LinearLayout(vertical)下都分别拖入一个imageView和textView。修改文件配置,在LinearLayout(vertical)中修改layout_widthlayout_height都为“wrap-content”,orientation为“vertical”;再分别设置背景及文本颜色达到你想要的效果,textView中设置gravity为“center”,使文本居中。

效果如下:

          

 部分代码如下:

  1. <LinearLayout
  2. android:id="@+id/LinearLayout1"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content"
  5. android:layout_weight="1"
  6. android:background="#000000"
  7. android:orientation="vertical">
  8. <ImageView
  9. android:id="@+id/imageView1"
  10. android:layout_width="match_parent"
  11. android:layout_height="wrap_content"
  12. app:srcCompat="@android:drawable/btn_star_big_on" />
  13. <TextView
  14. android:id="@+id/textView1"
  15. android:layout_width="match_parent"
  16. android:layout_height="wrap_content"
  17. android:layout_gravity="center"
  18. android:gravity="center"
  19. android:text="微信"
  20. android:textColor="#ffffff"
  21. android:textSize="25sp" />
  22. </LinearLayout>

3、 中间页面

四个xml文件(tab01.xml,tab02.xml,tab03.xml,tab04.xml分别对应四个界面的中间内容,内容随意,设置颜色背景及大小,layout_widthlayout_height都为“wrap-content”,layout-weight为“1”。

效果如下:

        

 代码如下(tab01.xml):

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent">
  5. <TextView
  6. android:id="@+id/textView5"
  7. android:layout_width="wrap_content"
  8. android:layout_height="wrap_content"
  9. android:layout_weight="1"
  10. android:gravity="center"
  11. android:layout_gravity="center"
  12. android:text="微信"
  13. android:textColor="@color/purple_500"
  14. android:textSize="50sp" />
  15. </LinearLayout>

 4、activity_main.xml

中间放一个framelayout显示界面内容,再将top.xml和bottom.xml这两个include进来。

效果如下:

    

 代码如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. tools:context=".MainActivity">
  8. <LinearLayout
  9. android:id="@+id/linearLayout"
  10. android:layout_width="match_parent"
  11. android:layout_height="match_parent"
  12. android:orientation="vertical">
  13. <include
  14. layout="@layout/top"
  15. android:layout_width="match_parent"
  16. android:layout_height="wrap_content" />
  17. <FrameLayout
  18. android:id="@+id/frameLayout"
  19. android:layout_width="match_parent"
  20. android:layout_height="match_parent"
  21. android:background="#ECEEEE"
  22. android:layout_weight="3">
  23. </FrameLayout>
  24. <include
  25. layout="@layout/layout_buttom"
  26. android:layout_width="match_parent"
  27. android:layout_height="wrap_content"
  28. android:layout_weight="0" />
  29. </LinearLayout>
  30. </androidx.constraintlayout.widget.ConstraintLayout>

 5、MainActivity.java

刚开始我们会发现四部分内容会重叠在一起。

接下来我们要做一个动态控制,就是当点击下方按钮时,显示对应tab页内容。做LinearLayout的点击控制,在onCreate中对四个LinearLayout做监听。

  1. linearLayout1.setOnClickListener(this);
  2. linearLayout2.setOnClickListener(this);
  3. linearLayout3.setOnClickListener(this);
  4. linearLayout4.setOnClickListener(this);

监听反馈的所有函数都在onClick中,在onClick中需要分辨是哪个LinearLayout被点击,使用case语句。

  1. @Override
  2. public void onClick(View view) {
  3. switch (view.getId()){
  4. case R.id.LinearLayout1:select(1);
  5. break;
  6. case R.id.LinearLayout2:select(2);
  7. break;
  8. case R.id.LinearLayout3:select(3);
  9. break;
  10. case R.id.LinearLayout4:select(4);
  11. break;
  12. };
  13. }

 先隐藏所有的fragment,当某一个LinearLayout被点击时,就把它对应的fragment显示出来。

  1. private void select(int i) {
  2. hidden();
  3. switch (i){
  4. case 1:showfragment(fragment1);
  5. break;
  6. case 2:showfragment(fragment2);
  7. break;
  8. case 3:showfragment(fragment3);
  9. break;
  10. case 4:showfragment(fragment4);
  11. break;
  12. };
  13. }
  14. private void showfragment(Fragment fragment) {
  15. transaction.show(fragment);
  16. }
  17. private void hidden() {
  18. transaction=manager.beginTransaction()
  19. .hide(fragment1)
  20. .hide(fragment2)
  21. .hide(fragment3)
  22. .hide(fragment4);
  23. transaction.commit();
  24. }

6、最终结果显示

           

            

 7、全部代码地址: Rain7六斤/AS (gitee.com)

    

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/689655
推荐阅读
相关标签
  

闽ICP备14008679号