Android软件开发(倾心家教)全过程

有登录,注册界面,底部导航栏,各个界面跳转笔记十分的详细,代码基本上传,因此篇幅较长。希望对大家android软件开发有点帮助。
视频如下:

android自制软件完成视频

文章目录

  • 一.登录界面xml
  • 二.登录界面java
  • 三.注册界面
  • 四.底部导航栏
    • 4.1 activity_success.xml代码如下
    • 4.2 successActivity.java代码如下:
  • 五.各个fragment设计
    • 5.1.第一个fragment
      • 5.1.1.网址搜索要实现网络资源的请求
      • 5.1.2.滚动消息(走马灯)
      • 5.1.3.图片滚动效果
    • 5.2第二个是MoodFragment
      • 5.2.1activity_mood_fragment
      • 5.2.2 MoodFragment.java
    • 5.3第三个是MessageFragment
      • 5.3.1activity_message_fragment.xml
      • 5.3.2MessageFragment.java
      • 5.3.3 下一级跳转
    • 5.4第四个是PersonFragment
      • 5.4.1activity_person_fragment.xml
      • 5.4.2PersonFragment.java
  • 六.总结

脑图:

效果图


一.登录界面xml

activity_main.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:background="@drawable/a"android:gravity="center"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:paddingBottom="30dp"android:paddingTop="20dp"android:background="#99404348"android:gravity="center"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="倾心家教"android:textColor="#FFFFFF"android:textSize="18sp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"android:paddingBottom="20dp"android:paddingTop="20dp"android:background="#99000000"><EditTextandroid:id="@+id/editName"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@null"android:layout_gravity="center"android:layout_marginRight="50dp"android:layout_marginLeft="50dp"android:textColor="#9F9FA0"android:textColorHint="#9F9FA0"android:hint="your username"/><Viewandroid:layout_width="match_parent"android:layout_height="1dip"android:background="#83738F"android:layout_marginRight="40dp"android:layout_marginLeft="40dp"android:layout_marginTop="10dp"android:layout_marginBottom="5dp"></View><EditTextandroid:id="@+id/editPwd"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@null"android:layout_gravity="center"android:hint="your password"android:textColor="#9F9FA0"android:textColorHint="#9F9FA0"android:layout_marginLeft="50dp"android:layout_marginRight="50dp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:paddingBottom="30dp"android:paddingTop="20dp"android:background="#99404348"android:gravity="center"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="忘记密码?"android:textColor="#DDDDDD"android:textSize="15sp"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="点击这里"android:textColor="#FFFFFF"android:textSize="15sp"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:id="@+id/btnLogin"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="40dp"android:layout_marginRight="10dp"android:layout_weight="1"android:background="@drawable/buttonstyle"android:text="登录"/><Buttonandroid:id="@+id/btnReg"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginRight="40dp"android:layout_marginLeft="10dp"android:background="@drawable/buttonstyle"android:layout_weight="1"android:text="注册"/></LinearLayout></LinearLayout></LinearLayout>

二.登录界面java

MainActivity.java 可以实现接收注册界面的用户名和密码,同时能判断用户名,和密码是否正确,并通过弹框来提醒。

package com.example.teacher11;import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;public class  MainActivity extends AppCompatActivity {private Button login, reg;private EditText editText1, editText2;private String username, userpwd;private final int REQUEST_CODE = 101;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);login = (Button) findViewById(R.id.btnLogin);reg = (Button) findViewById(R.id.btnReg);editText1 = (EditText) findViewById(R.id.editName);editText2 = (EditText) findViewById(R.id.editPwd);reg.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent(MainActivity.this,registerActivity.class);startActivityForResult(intent,REQUEST_CODE);}});login.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this, successActivity.class);String name = editText1.getText().toString();String pwd = editText2.getText().toString();if (name.equals(username) && pwd.equals(userpwd)) {intent.putExtra("name", name);intent.putExtra("pwd", pwd);startActivity(intent);}if (!name.equals(username)) {Toast.makeText(MainActivity.this, "抱歉,用户名不对", Toast.LENGTH_LONG).show();}if (!pwd.equals(userpwd)) {Toast.makeText(MainActivity.this, "抱歉,密码不对", Toast.LENGTH_LONG).show();}}});}@Overridepublic void onActivityResult(int requestCode,int resultCode,Intent data){super.onActivityResult(requestCode,resultCode,data);if(requestCode==REQUEST_CODE){String name=data.getStringExtra("name");String pwd=data.getStringExtra("pwd");editText1.setText("您的用户名是:"+name);editText2.setText("您的密  码是 :"+pwd);username=editText1.getText().toString();userpwd=editText2.getText().toString();}}}

三.注册界面

接下来的是注册界面,和登录界面同理,布局文件就不展示了,直接看java,将用户的用户名和密码传回到登录。

package com.example.teacher11;import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import androidx.appcompat.app.AppCompatActivity;public class registerActivity extends AppCompatActivity {private Button zcan;private EditText zceditext1, zcedittext2, zcedittext3;private static final int REQUEST_CODE = 101;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_register);zcan = (Button) findViewById(R.id.zcbtnReg);zceditext1 = (EditText) findViewById(R.id.zcedtName);zcedittext2 = (EditText) findViewById(R.id.zcedtPwd);zcedittext3 = (EditText) findViewById(R.id.zcedtRepwd);zcan.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent();String name = zceditext1.getText().toString();String pwd = zcedittext2.getText().toString();String repwd = zcedittext3.getText().toString();if (!"".equals(pwd) && pwd.equals(repwd)) {intent.putExtra("name", name);intent.putExtra("pwd", pwd);setResult(REQUEST_CODE, intent);registerActivity.this.finish();} else {Toast.makeText(registerActivity.this, "密码输入不一致", Toast.LENGTH_LONG).show();}}});}
}

四.底部导航栏

我是通过fragment和textview来实现底部导航栏的跳转

4.1 activity_success.xml代码如下

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent" ><FrameLayoutandroid:id="@+id/main_container"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_above="@+id/view_line"/><Viewandroid:id="@+id/view_line"android:layout_height="1dp"android:layout_width="match_parent"android:background="#DCDBDB"android:layout_above="@+id/rl_bottom"/><LinearLayoutandroid:id="@+id/rl_bottom"android:layout_width="392dp"android:layout_height="72dp"android:layout_alignParentBottom="true"android:background="#F2F2F2"android:orientation="horizontal"android:paddingTop="1dp"android:paddingBottom="1dp"><TextViewandroid:id="@+id/tv_main"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1"android:drawableTop="@drawable/tab_item_main_img_selector"android:drawablePadding="1dp"android:focusable="true"android:gravity="center"android:text="首页"android:textColor="@drawable/tab_item_txt_selector" /><TextViewandroid:id="@+id/tv_mood"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1"android:drawableTop="@drawable/tab_item_message_img_selector"android:drawablePadding="5dp"android:focusable="true"android:gravity="center"android:text="老师"android:textColor="@drawable/tab_item_txt_selector" /><TextViewandroid:id="@+id/tv_message"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1"android:drawableTop="@drawable/tab_item_mood_img_selector"android:drawablePadding="5dp"android:focusable="true"android:gravity="center"android:text="消息"android:textColor="@drawable/tab_item_txt_selector" /><TextViewandroid:id="@+id/tv_person"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1"android:drawableTop="@drawable/tab_item_person_img_selector"android:drawablePadding="5dp"android:focusable="true"android:gravity="center"android:text="我的"android:textColor="@drawable/tab_item_txt_selector" /></LinearLayout></RelativeLayout>

4.2 successActivity.java代码如下:

package com.example.teacher11;import android.content.Intent;
import android.os.Bundle;import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentTransaction;import static com.example.teacher11.R.layout.activity_main_fragment;/*** 通过切换选项控制页面更新* @author* @create*/
public class successActivity extends FragmentActivity {private MainFragment mainFragment;private MoodFragment moodFragment;private MessageFragment messageFragment;private PersonFragment personFragment;private int currentId = R.id.tv_main;private TextView tvMain, tvMood, tvMessage, tvPerson;//indexprivate Button benan;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_success);// 首页标签默认选中tvMain = (TextView) findViewById(R.id.tv_main);tvMain.setSelected(true);tvMood = (TextView) findViewById(R.id.tv_mood);tvMessage = (TextView) findViewById(R.id.tv_message);tvPerson = (TextView) findViewById(R.id.tv_person);//App启动的时候加载首页页面mainFragment = new MainFragment();getSupportFragmentManager().beginTransaction().add(R.id.main_container, mainFragment).commit();tvMain.setOnClickListener(tabClickListener);tvMood.setOnClickListener(tabClickListener);tvMessage.setOnClickListener(tabClickListener);tvPerson.setOnClickListener(tabClickListener);}//private  OnClickListener onClickListener =new OnClickListener() {
//    @Override
//    public void onClick(View v) {
//        switch (v.getId()) {
//            case R.id.an:
//                Intent intent = new Intent(successActivity.this, textActivity.class);
//                startActivity(intent);
//                break;
//        }
//    }
//};/*** 通过单击事件调用对应方法改变TextView的状态和fragment* 更新当前项的id(主要根据id标记当前项的位置)*/private OnClickListener tabClickListener = new OnClickListener() {@Overridepublic void onClick(View v) {if (v.getId() != currentId) {changeSelect(v.getId());changeFragment(v.getId());currentId = v.getId();}}};/*** 切换fragment方法* @param resId*/private void changeFragment(int resId) {FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();//调用方法隐藏fragmenthideFragments(transaction);//声明fragment并且添加到页面if (resId == R.id.tv_main) {if (mainFragment == null) {mainFragment = new MainFragment();transaction.add(R.id.main_container, mainFragment);} else {transaction.show(mainFragment);}} else if (resId == R.id.tv_mood) {if (moodFragment == null) {moodFragment = new MoodFragment();transaction.add(R.id.main_container, moodFragment);} else {transaction.show(moodFragment);}} else if (resId == R.id.tv_message) {if (messageFragment == null) {messageFragment = new MessageFragment();transaction.add(R.id.main_container, messageFragment);} else {transaction.show(messageFragment);}} else if (resId == R.id.tv_person) {if (personFragment == null) {personFragment = new PersonFragment();transaction.add(R.id.main_container, personFragment);} else {transaction.show(personFragment);}}transaction.commit();}/*** 点击事件隐藏所有fragment* @param transaction*/private void hideFragments(FragmentTransaction transaction) {if (mainFragment != null)transaction.hide(mainFragment);if (moodFragment != null)transaction.hide(moodFragment);if (messageFragment != null)transaction.hide(messageFragment);if (personFragment != null)transaction.hide(personFragment);}/*** 单击事件改变textview的状态* @param resId*/private void changeSelect(int resId) {//选项全部设置为未选中tvMain.setSelected(false);tvMood.setSelected(false);tvMessage.setSelected(false);tvPerson.setSelected(false);//切换选中项的状态switch (resId) {case R.id.tv_main:tvMain.setSelected(true);break;case R.id.tv_mood:tvMood.setSelected(true);break;case R.id.tv_message:tvMessage.setSelected(true);break;case R.id.tv_person:tvPerson.setSelected(true);break;}}
}

五.各个fragment设计

点击底部导航栏实现跳转到各个fragment中,接下来来写4个Fragment

5.1.第一个fragment

是MainFragment,activity_main_fragment.xml,也是登录之后进入的第一个界面,布局文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><!--    主要内容--><LinearLayoutandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="3"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="52dp"android:background="#87CEFA"android:orientation="horizontal">
<!--        显示地点--><TextViewandroid:id="@+id/dizhi"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:layout_marginTop="10dp"android:layout_marginLeft="10dp"android:textColor="#FFFFFF"android:textSize="18dp"android:text="马鞍山"/>
<!--            显示搜索框-->
<!--            <SearchView-->
<!--                android:layout_width="1dp"-->
<!--                android:layout_height="40dp"-->
<!--                android:layout_weight="4"-->
<!--                android:layout_marginTop="6dp"-->
<!--                android:layout_marginRight="10dp"-->
<!--                android:background="@color/whiteColor"-->
<!--                android:singleLine="true">-->
<!--            </SearchView>--><EditTextandroid:id="@+id/url"android:layout_width="200dp"android:layout_height="35dp"android:layout_weight="6"android:layout_marginTop="6dp"android:layout_marginRight="10dp"android:background="@color/whiteColor"/><ImageViewandroid:id="@+id/sousuo"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="4"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/sousuo"/></LinearLayout><!--        课程-->
<LinearLayoutandroid:layout_width="match_parent"android:layout_height="200dp"android:background="#FFFFFF"android:orientation="vertical"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="90dp"android:layout_marginTop="10dp"android:orientation="horizontal">
<!--        显示课程图标和名称--><LinearLayoutandroid:layout_width="40dp"android:layout_height="match_parent"android:layout_gravity="center_horizontal"android:layout_weight="1"android:orientation="vertical"><ImageViewandroid:id="@+id/math"android:layout_width="70dp"android:layout_height="70dp"android:layout_gravity="center_horizontal"android:src="@drawable/math" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="数学"android:textColor="#87CEFA"android:textSize="14dp" /></LinearLayout><LinearLayoutandroid:layout_width="40dp"android:layout_height="match_parent"android:layout_gravity="center_horizontal"android:layout_weight="1"android:orientation="vertical"><ImageViewandroid:id="@+id/yingyu"android:layout_width="70dp"android:layout_height="70dp"android:layout_gravity="center_horizontal"android:src="@drawable/yingyu" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="英语"android:textColor="#87CEFA"android:textSize="14dp" /></LinearLayout><LinearLayoutandroid:layout_width="40dp"android:layout_height="match_parent"android:layout_gravity="center_horizontal"android:layout_weight="1"android:orientation="vertical"><ImageViewandroid:id="@+id/yuwen"android:layout_width="70dp"android:layout_height="70dp"android:layout_gravity="center_horizontal"android:src="@drawable/yuwen" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="语文"android:textColor="#87CEFA"android:textSize="14dp" /></LinearLayout><LinearLayoutandroid:layout_width="40dp"android:layout_height="match_parent"android:layout_gravity="center_horizontal"android:layout_weight="1"android:orientation="vertical"><ImageViewandroid:id="@+id/wuli"android:layout_width="70dp"android:layout_height="70dp"android:layout_gravity="center_horizontal"android:src="@drawable/wuli" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="物理"android:textColor="#87CEFA"android:textSize="14dp" /></LinearLayout></LinearLayout><!--    开始第二行--><LinearLayoutandroid:layout_width="match_parent"android:layout_height="90dp"android:layout_marginTop="10dp"android:orientation="horizontal"><!--        显示课程图标和名称--><LinearLayoutandroid:layout_width="40dp"android:layout_height="match_parent"android:layout_gravity="center_horizontal"android:layout_weight="1"android:orientation="vertical"><ImageViewandroid:id="@+id/mzhengzhi"android:layout_width="70dp"android:layout_height="70dp"android:layout_gravity="center_horizontal"android:src="@drawable/zhengzhi" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="化学"android:textColor="#87CEFA"android:textSize="14dp" /></LinearLayout><LinearLayoutandroid:layout_width="40dp"android:layout_height="match_parent"android:layout_gravity="center_horizontal"android:layout_weight="1"android:orientation="vertical"><ImageViewandroid:id="@+id/huaxue"android:layout_width="70dp"android:layout_height="70dp"android:layout_gravity="center_horizontal"android:src="@drawable/huaxue" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="化学"android:textColor="#87CEFA"android:textSize="14dp" /></LinearLayout><LinearLayoutandroid:layout_width="40dp"android:layout_height="match_parent"android:layout_gravity="center_horizontal"android:layout_weight="1"android:orientation="vertical"><ImageViewandroid:id="@+id/shengwu"android:layout_width="70dp"android:layout_height="70dp"android:layout_gravity="center_horizontal"android:src="@drawable/shegnwu" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="生物"android:textColor="#87CEFA"android:textSize="14dp" /></LinearLayout><LinearLayoutandroid:layout_width="40dp"android:layout_height="match_parent"android:layout_gravity="center_horizontal"android:layout_weight="1"android:orientation="vertical"><ImageViewandroid:id="@+id/dili"android:layout_width="70dp"android:layout_height="70dp"android:layout_gravity="center_horizontal"android:src="@drawable/dili" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:text="地理"android:textColor="#87CEFA"android:textSize="14dp" /></LinearLayout></LinearLayout>
</LinearLayout>
<!--        以上是课程图标-->
<!--以下是滚动消息--><includelayout="@layout/index_toutiao_scroll" /><includelayout="@layout/index_teacher"/><!--热门名师图片跳转--><include layout="@layout/famous_teacher"/></LinearLayout></LinearLayout>

这个界面上,搜索栏可以实现网址搜索。滚动消息是以走马灯的形式,还有图片的轮播效果。

5.1.1.网址搜索要实现网络资源的请求

要在AndroidManifest.xml的Manifest下面,插入这一行代码

 <uses-permission android:name="android.permission.INTERNET"/>

5.1.2.滚动消息(走马灯)

index_touxiao_scroll.xml中代码入下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="50dp"android:id="@+id/activity_main"android:orientation="vertical"android:layout_marginTop="20dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="   名师一对一辅导啦!   欢迎大家加入到倾心家教!  好好学习,天天向上!"android:textColor="#000000"android:textSize="20dp"android:id="@+id/gundon"android:marqueeRepeatLimit="marquee_forever"android:ellipsize="marquee"android:focusable="true"android:scrollHorizontally="true"android:focusableInTouchMode="true"android:singleLine="true"/>
</LinearLayout>

ps:有能力可以实现将消息自动滚动起来,本人小白,表示无力,至于热门名师,index_teacher.xml里面就是一个简单的TextView,代码就省略了)

5.1.3.图片滚动效果

famous_teacher.xml代码入下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><FrameLayoutandroid:layout_width="match_parent"android:layout_height="300dip" ><androidx.viewpager.widget.ViewPagerandroid:id="@+id/vp"android:layout_width="match_parent"android:layout_height="match_parent" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="35dip"android:layout_gravity="bottom"android:background="#33000000"android:gravity="center"android:orientation="vertical" ><TextViewandroid:id="@+id/title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="图片标题"android:textColor="@android:color/white" /><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="3dip"android:orientation="horizontal" ><Viewandroid:id="@+id/dot_0"android:layout_width="5dip"android:layout_height="5dip"android:layout_marginLeft="2dip"android:layout_marginRight="2dip"android:background="@drawable/dot_yes"/><Viewandroid:id="@+id/dot_1"android:layout_width="5dip"android:layout_height="5dip"android:layout_marginLeft="2dip"android:layout_marginRight="2dip"android:background="@drawable/dot_no"/><Viewandroid:id="@+id/dot_2"android:layout_width="5dip"android:layout_height="5dip"android:layout_marginLeft="2dip"android:layout_marginRight="2dip"android:background="@drawable/dot_no"/><Viewandroid:id="@+id/dot_3"android:layout_width="5dip"android:layout_height="5dip"android:layout_marginLeft="2dip"android:layout_marginRight="2dip"android:background="@drawable/dot_no"/><Viewandroid:id="@+id/dot_4"android:layout_width="5dip"android:layout_height="5dip"android:layout_marginLeft="2dip"android:layout_marginRight="2dip"android:background="@drawable/dot_no"/></LinearLayout></LinearLayout></FrameLayout></RelativeLayout>

第一个fragment的java代码
MainFragment总的代码入下:

package com.example.teacher11;import com.example.teacher11.R;import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;//import android.app.Fragment;
import android.os.Bundle;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;import androidx.annotation.Nullable;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;public class MainFragment extends Fragment {private ImageView btnsousuo;private EditText edtUrl;//ceshi初始化private View mView;private ViewPager mViewPaper;private List<ImageView> images;private List<View> dots;private int currentItem;//记录上一次点的位置private int oldPosition = 0;//存放图片的idprivate int[] imageIds = new int[]{R.drawable.lunbo1,R.drawable.lunbo2,R.drawable.lunbo3,R.drawable.lunbo4,R.drawable.lunbo5};//存放图片的标题private String[] titles = new String[]{"窗明几净","孜孜不倦","大赞园丁","梦幻校园","遵守纪律"};private TextView title;private ViewPagerAdapter adapter;private ScheduledExecutorService scheduledExecutorService;
//jiezhi@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubmView=inflater.inflate(R.layout.activity_main_fragment, null);setView();return mView;}//ceshiprivate void setView(){mViewPaper = (ViewPager)mView.findViewById(R.id.vp);//显示的图片images = new ArrayList<ImageView>();for(int i = 0; i < imageIds.length; i++){ImageView imageView = new ImageView(getActivity());imageView.setBackgroundResource(imageIds[i]);images.add(imageView);}//显示的小点dots = new ArrayList<View>();dots.add(mView.findViewById(R.id.dot_0));dots.add(mView.findViewById(R.id.dot_1));dots.add(mView.findViewById(R.id.dot_2));dots.add(mView.findViewById(R.id.dot_3));dots.add(mView.findViewById(R.id.dot_4));title = (TextView) mView.findViewById(R.id.title);title.setText(titles[0]);adapter = new ViewPagerAdapter();mViewPaper.setAdapter(adapter);mViewPaper.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {@Overridepublic void onPageSelected(int position) {title.setText(titles[position]);dots.get(position).setBackgroundResource(R.drawable.dot_yes);dots.get(oldPosition).setBackgroundResource(R.drawable.dot_no);oldPosition = position;currentItem = position;}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic void onPageScrollStateChanged(int arg0) {}});}/*定义的适配器*/public class ViewPagerAdapter extends PagerAdapter {@Overridepublic int getCount() {return images.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}@Overridepublic void destroyItem(ViewGroup view, int position, Object object) {// TODO Auto-generated method stub
//          super.destroyItem(container, position, object);
//          view.removeView(view.getChildAt(position));
//          view.removeViewAt(position);view.removeView(images.get(position));}@Overridepublic Object instantiateItem(ViewGroup view, int position) {// TODO Auto-generated method stubview.addView(images.get(position));return images.get(position);}}/*** 利用线程池定时执行动画轮播*/@Overridepublic void onStart() {// TODO Auto-generated method stubsuper.onStart();scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();scheduledExecutorService.scheduleWithFixedDelay(new ViewPageTask(),2,2,TimeUnit.SECONDS);}/*** 图片轮播任务* @author liuyazhuang**/private class ViewPageTask implements Runnable{@Overridepublic void run() {currentItem = (currentItem + 1) % imageIds.length;mHandler.sendEmptyMessage(0);}}/*** 接收子线程传递过来的数据*/private Handler mHandler = new Handler(){public void handleMessage(android.os.Message msg) {mViewPaper.setCurrentItem(currentItem);};};@Overridepublic void onStop() {// TODO Auto-generated method stubsuper.onStop();if(scheduledExecutorService != null){scheduledExecutorService.shutdown();scheduledExecutorService = null;}}//戒指@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);btnsousuo=(ImageView) mView.findViewById(R.id.sousuo);edtUrl=(EditText)mView.findViewById(R.id.url);btnsousuo.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {Intent intent = new Intent();String strUrl = edtUrl.getText().toString();Uri uri = Uri.parse(strUrl);intent.setAction(Intent.ACTION_VIEW);intent.setData(uri);startActivity(intent);}});}//}

(ps: dot_yes是图片选中播放时候的亮点,dot_no反之,百度一下图片就行)

5.2第二个是MoodFragment

5.2.1activity_mood_fragment

布局文件代码入下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#E8E8E8"android:orientation="vertical"><!--    显示要查找老师的信息标题--><LinearLayoutandroid:layout_width="match_parent"android:layout_height="51dp"android:background="#87CEFA"android:orientation="horizontal">
<!--        返回箭头--><ImageViewandroid:id="@+id/arrback"android:layout_width="24dp"android:layout_height="30dp"android:layout_marginTop="10dp"android:layout_weight="0.5"android:contentDescription="@string/app_name"android:src="@drawable/arrowleft" />
<!--        科目文字--><LinearLayoutandroid:layout_width="0dp"android:layout_height="50dp"android:layout_weight="5"android:orientation="vertical"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:textSize="22sp"android:textColor="#FFFFFF"android:layout_marginTop="12dp"android:text="查找教师"/></LinearLayout></LinearLayout><!--    间隔线--><ImageViewandroid:layout_width="match_parent"android:layout_height="1dp"android:background="#CFCFCF"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="#FFFFFF"android:orientation="horizontal"><LinearLayoutandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1.5"android:orientation="vertical"><Buttonandroid:layout_width="wrap_content"android:layout_height="40dp"android:id="@+id/subject_name"android:layout_gravity="center_horizontal"android:text="科目"android:textColor="#8B8B7A"android:background="@android:color/transparent"android:drawableRight="@drawable/arrowdown"/></LinearLayout>
<!--间隔线--><ImageViewandroid:layout_width="1dp"android:layout_height="30dp"android:layout_marginTop="5dp"android:background="#CFCFCF"/><LinearLayoutandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1.5"android:orientation="vertical"><Buttonandroid:id="@+id/grade"android:layout_width="wrap_content"android:layout_height="40dp"android:layout_gravity="center_horizontal"android:text="年 级"android:textColor="#8B8B7A"android:background="@android:color/transparent"android:drawableRight="@drawable/arrowdown"/></LinearLayout>
</LinearLayout>
<!--间隔线-->
<ImageViewandroid:layout_width="match_parent"android:layout_height="1dp"android:background="#CFCFCF"/><!--    预约教师信息--><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/laoshitou1"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/mood_yuwen"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 语文老师"android:textSize="28dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/laoshitou2"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/mood_shuxu"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 数学老师"android:textSize="28dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/laoshitou3"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/mood_dili"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 地理老师"android:textSize="28dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/laoshitou4"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/mood_shengwu"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 生物老师"android:textSize="28dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/laoshitou5"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/mood_yingyu"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 英语老师"android:textSize="28dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/laoshitou6"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/mood_huaxue"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 化学老师"android:textSize="28dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/laoshitou7"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/mood_zhengzhi"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 政治老师"android:textSize="28dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/laoshitou8"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/mood_wuli"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 物理老师"android:textSize="28dp"/></LinearLayout><!--    //listview-->
<ListViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/friendlist"android:dividerHeight="3dp"></ListView>
</LinearLayout>

点击各个老师,弹框可以出现对应学科的名人名言

5.2.2 MoodFragment.java

MoodFragment对应的java代码入下:

package com.example.teacher11;import com.example.teacher11.R;import android.content.Intent;
import android.os.Bundle;import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;public class MoodFragment extends Fragment {private  TextView btn_mood_yuwen;private  TextView btn_mood_shuxue;private  TextView btn_mood_yingyu;private  TextView btn_mood_wuli;private  TextView btn_mood_huaxue;private  TextView btn_mood_zhengzhi;private  TextView btn_mood_dili;private  TextView btn_mood_shengwu;@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubreturn inflater.inflate(R.layout.activity_mood_fragment, container, false);}@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);TextView btn_mood_yuwen=(TextView)getActivity().findViewById(R.id.mood_yuwen);TextView btn_mood_shuxue=(TextView)getActivity().findViewById(R.id.mood_shuxu);TextView btn_mood_yingyu=(TextView)getActivity().findViewById(R.id.mood_yingyu);TextView btn_mood_wuli=(TextView)getActivity().findViewById(R.id.mood_wuli);TextView btn_mood_zhengzhi=(TextView)getActivity().findViewById(R.id.mood_zhengzhi);TextView btn_mood_shengwu=(TextView)getActivity().findViewById(R.id.mood_shengwu);TextView btn_mood_huaxue=(TextView)getActivity().findViewById(R.id.mood_huaxue);TextView btn_mood_dili=(TextView)getActivity().findViewById(R.id.mood_dili);btn_mood_yuwen.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {Toast.makeText(getActivity(),"天行健,君子以自强不息!",Toast.LENGTH_LONG).show();}});btn_mood_shuxue.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {Toast.makeText(getActivity(),"数学,是科学的女皇,数论,是数学的女皇!",Toast.LENGTH_LONG).show();}});btn_mood_yingyu.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {Toast.makeText(getActivity(),"For man is man and master of his fate. 人就是人,是自己命运的主人。",Toast.LENGTH_LONG).show();}});btn_mood_wuli.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {Toast.makeText(getActivity(),"物理定律不能单靠“思维”来获得,还应致力于观察和实验。",Toast.LENGTH_LONG).show();}});btn_mood_zhengzhi.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {Toast.makeText(getActivity(),"政治是一种科学,是一种艺术。",Toast.LENGTH_LONG).show();}});btn_mood_shengwu.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {Toast.makeText(getActivity(),"物竞天择,适者生存!",Toast.LENGTH_LONG).show();}});btn_mood_huaxue.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {Toast.makeText(getActivity(),"化学家需要精细,必须杜绝含糊其词的“about”!",Toast.LENGTH_LONG).show();}});btn_mood_dili.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {Toast.makeText(getActivity(),"高岸为谷,深谷为陵。",Toast.LENGTH_LONG).show();}});}}

(ps: 不足之处:点击学科和年纪应该出现下拉框,没有实现。java中代码过于冗余可以简化一下,个人比较懒,都是复制粘贴的。)

5.3第三个是MessageFragment

5.3.1activity_message_fragment.xml

代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:background="#F5F5F5">
<!--    消息标题--><LinearLayoutandroid:layout_width="match_parent"android:layout_height="51dp"android:orientation="horizontal"android:background="#87CEFA">
<!--        返回箭头--><ImageViewandroid:layout_width="0dp"android:layout_height="30dp"android:layout_weight="0.5"android:layout_marginTop="10dp"android:contentDescription="@string/app_name"android:src="@drawable/arrowleft"android:background="#87CEFA"/>
<!--        消息--><LinearLayoutandroid:layout_width="0dp"android:layout_height="50dp"android:layout_weight="5"android:orientation="vertical"android:background="#87CEFA"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:textSize="22sp"android:textColor="#FFFFFF"android:layout_marginTop="12dp"android:text="消息通知"/></LinearLayout></LinearLayout>
<!--    预约教师信息--><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/teacher1"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/order_teacher"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 预约老师消息"android:textSize="28dp"/><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/arrowright"/></LinearLayout><!--    我要提建议--><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/jianyi1"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/jianyi"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 我要提建议"android:textSize="28dp" /><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/arrowright"/></LinearLayout>
<!--    消息论坛--><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:layout_marginTop="10dp"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/luntan1"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/luntan"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 消息论坛"android:textSize="28dp" /><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/arrowright"/></LinearLayout><!--    优惠信息--><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:layout_marginTop="10dp"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/youhuiquan2"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/youhui"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 优惠信息"android:textSize="28dp" /><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/arrowright"/></LinearLayout><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/an"android:text="开发者"/>
</LinearLayout>

5.3.2MessageFragment.java

总代码如下:

package com.example.teacher11;import com.example.teacher11.R;import android.content.Intent;
import android.os.Bundle;import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;public class MessageFragment extends Fragment {private Button an;private TextView btn_order_teacher;private  TextView btn_mes_jianyi;@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubreturn inflater.inflate(R.layout.activity_messag_fragment, container, false);}// 想要在fragment中实现监听点击事件,得用onActivity@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);TextView btn_order_teacher=(TextView)getActivity().findViewById(R.id.order_teacher);btn_order_teacher.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {Intent intent=new Intent();intent.setClass(getActivity(),mes_order_teacher.class);startActivity(intent);}});TextView btn_mes_jianyi=(TextView)getActivity().findViewById(R.id.jianyi);btn_mes_jianyi.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {Intent intent=new Intent();intent.setClass(getActivity(),mes_jianyi.class);startActivity(intent);}});Button btnan=(Button)getActivity().findViewById(R.id.an);btnan.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent=new Intent();intent.setClass(getActivity(),textActivity.class);startActivity(intent);}});}
}

5.3.3 下一级跳转

此界面点击预约老师,我要提建议和开发者按钮跳转到下一级activity中(对应为:mes_order_teacher,mes_jianyi,textActivity)。
activity_mes_jianyi.xml布局文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".mes_jianyi"android:orientation="vertical"android:background="#F5F5F5"><!--    建议标题--><LinearLayoutandroid:layout_width="match_parent"android:layout_height="51dp"android:orientation="horizontal"android:background="#87CEFA"><!--        返回箭头--><ImageViewandroid:layout_width="0dp"android:layout_height="30dp"android:layout_weight="0.5"android:layout_marginTop="10dp"android:contentDescription="@string/app_name"android:src="@drawable/arrowleft"android:background="#87CEFA"/><!--        消息--><LinearLayoutandroid:layout_width="0dp"android:layout_height="50dp"android:layout_weight="5"android:orientation="vertical"android:background="#87CEFA"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:textSize="22sp"android:textColor="#FFFFFF"android:layout_marginTop="12dp"android:text="我的建议"/></LinearLayout></LinearLayout>
<!--    建议科目--><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50dp"android:background="#FFFFFF"android:orientation="horizontal"><TextViewandroid:layout_width="0dp"android:layout_height="40dp"android:layout_weight="1"android:textSize="20sp"android:layout_marginTop="5dp"android:layout_marginLeft="20dp"android:text="科目:"/><EditTextandroid:layout_width="0dp"android:layout_height="40dp"android:layout_weight="4"android:id="@+id/spinner1"android:layout_marginTop="5dp"android:layout_marginRight="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50dp"android:orientation="horizontal"android:layout_marginTop="20dp"android:background="#FFFFFF"><TextViewandroid:layout_width="0dp"android:layout_height="40dp"android:layout_weight="1"android:textSize="20sp"android:layout_marginTop="5dp"android:layout_marginLeft="20dp"android:text="主题:"/><EditTextandroid:layout_width="0dp"android:layout_height="40dp"android:layout_weight="4"android:id="@+id/edit_zhuti"android:layout_marginTop="5dp"android:layout_marginRight="10dp"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="200dp"android:orientation="horizontal"android:layout_marginTop="20dp"android:background="#FFFFFF"><TextViewandroid:layout_width="0dp"android:layout_height="40dp"android:layout_weight="1"android:textSize="20sp"android:layout_marginTop="5dp"android:layout_marginLeft="20dp"android:text="描述:"/><EditTextandroid:layout_width="0dp"android:layout_height="200dp"android:layout_weight="4"android:id="@+id/edit_miaoshu"android:layout_marginTop="5dp"android:layout_marginRight="10dp"/></LinearLayout><Buttonandroid:layout_width="fill_parent"android:layout_height="40dp"android:id="@+id/suggest_report"android:text="发表意见"android:textColor="#FFFFFF"android:layout_gravity="center"/>
</LinearLayout>

(ps: activity_mes_teacher.xml和activity_teacher.xml布局文件大家可以自己发挥想象,不足之处:应该为每一个控件实现跳转,还应该在下一级的向左的箭头实现点击事件,能返回到上一级中来)

5.4第四个是PersonFragment

5.4.1activity_person_fragment.xml

布局文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="110dp"android:id="@+id/user_message"android:background="#87CEFA"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="70dp"android:id="@+id/icon"android:layout_weight="1"android:layout_gravity="center"android:contentDescription="@string/app_name"android:src="@drawable/hugh"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/user_id"android:layout_gravity="center"android:layout_weight="4"android:text="用户名:云澈"android:textColor="#FFFFFF"android:layout_marginLeft="30dp"android:textSize="20sp"/><ImageViewandroid:layout_width="0dp"android:layout_height="40dp"android:layout_weight="1"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/arrowright"/></LinearLayout><include layout="@layout/me_money"/><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="600dp"android:layout_marginTop="20dp"android:background="#F5F5F5"android:orientation="vertical"><ImageViewandroid:layout_width="fill_parent"android:layout_height="2dip"android:layout_marginLeft="15dp"android:layout_marginRight="15dp"android:background="#CFCFCF"/><!--  我的老师--><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/me_teacher"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/me_teacher"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 我的老师"android:textSize="28dp"/><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/arrowright"/></LinearLayout><!--    我的评价--><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/me_pingjia"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/me_pingjia"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 我的评价"android:textSize="28dp"/><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/arrowright"/></LinearLayout><!--    我的回答--><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"android:layout_marginTop="20dp"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/me_answer"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/me_answer"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 我的回答"android:textSize="28dp"/><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/arrowright"/></LinearLayout><!--    我的课程--><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/me_kecheng"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/order_teacher"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 我的课程"android:textSize="28dp"/><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/arrowright"/></LinearLayout><!--    学习计划和总结--><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/me_xuexijiahua"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/学习"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 学习计划和总结"android:textSize="28dp"/><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/arrowright"/></LinearLayout><!--    我的课程--><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="45dp"android:background="#FFFFFF"android:orientation="horizontal"android:layout_marginTop="20dp"><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="0.5"android:layout_marginLeft="10dp"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/me_shezhi"/><TextViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:id="@+id/me_shezhi"android:layout_weight="5"android:layout_gravity="center_horizontal"android:layout_marginTop="0dp"android:text=" 设置"android:textSize="28dp"/><ImageViewandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:layout_gravity="center_vertical"android:contentDescription="@string/app_name"android:src="@drawable/arrowright"/></LinearLayout></LinearLayout>
</LinearLayout>

其中me_money.xml布局文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="70dp"android:orientation="horizontal"android:background="#FFFFFF">
<!--我的订单--><LinearLayoutandroid:layout_width="0dp"android:layout_height="match_parent"android:orientation="vertical"android:layout_weight="1"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/order"android:layout_gravity="center"android:layout_marginTop="5dp"android:contentDescription="@string/app_name"android:src="@drawable/order1"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="我的订单"android:layout_marginTop="2dp"android:textSize="16sp"/></LinearLayout><!--钱包 --><LinearLayoutandroid:layout_width="0dp"android:layout_height="match_parent"android:orientation="vertical"android:layout_weight="1"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/money"android:layout_gravity="center"android:layout_marginTop="5dp"android:contentDescription="@string/app_name"android:src="@drawable/money"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="钱包"android:layout_marginTop="2dp"android:textSize="16sp"/></LinearLayout><!--优惠券--><LinearLayoutandroid:layout_width="0dp"android:layout_height="match_parent"android:orientation="vertical"android:layout_weight="1"><ImageViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/优惠券"android:layout_gravity="center"android:layout_marginTop="5dp"android:contentDescription="@string/app_name"android:src="@drawable/youhuiquan1"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="我的订单"android:layout_marginTop="2dp"android:textSize="16sp"/></LinearLayout>
</LinearLayout>

5.4.2PersonFragment.java

代码如下:

package com.example.teacher11;import com.example.teacher11.R;import android.os.Bundle;import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;import androidx.fragment.app.Fragment;public class PersonFragment extends Fragment {@Overridepublic void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubreturn inflater.inflate(R.layout.activity_person_fragment, container, false);}}

(ps:不足之处:同上,应该为每一个控件实现点击跳转到下一级)
本软件没有后端数据库,没法实现功能。

六.总结

第一次直接复制肯定是会报错的,大家要改改自己的图片名称等一些错误。我个人也是写了好几个晚上,看了好长时间的书本,开始几天都没有敲代码,直到看懂一些代码,同时也查阅了很多百度,我要十分感谢CSDN社区,很多问题都是这里查询找到解决办法的。越到问题不要放弃,慢慢摸索,坚持下来,一定能写完的。本人也是第一次写android软件,同时也是第一次写那么长的笔记总结。其中有很多不完善的,不足之处。欢迎大家评论指正。

源代码链接
我经常使用的资源网站阿里巴巴矢量图标库, 调色板

android程序开发笔记相关推荐

  1. Android初级开发笔记-- activity启动模式的学习(1)

    第一次学习Android中一个很重要的概念,启动模式.文章记录的也只是一些入门知识,随着学习的深入还会有activity启动模式的学习(2)和(3). 下面分三个小点说一下对启动模式的理解区别以及如何 ...

  2. 微信小程序开发笔记——wsdchong

    微信小程序开发笔记 一.小程序简介 小程序起源于微信的webview:此类API最初是提供给腾讯内部一些业务使用,很多外部开发者发现后,照葫芦画瓢,逐渐成为微信中网页的事实标准.2015年初,微信发布 ...

  3. Android工程开发笔记一

    Android工程开发笔记<一> ---------------------------------------不同 APP相互调用 activity 1.ComponentName() ...

  4. Android程序开发0基础教程(一)

    程序猿学英语就上视觉英语网 Android程序开发0基础教程(一) 平台简单介绍 令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操作系统, ...

  5. android 程序开发的插件化

    本文为 博客园 黑暗伯爵 原创,转载请注明  http://hangxin1940.cnblogs.com 原文地址:android 程序开发的插件化 模块化方法 之一 框架已经放出: android ...

  6. 微信小程序开发笔记,你收藏了吗?

    ** 微信小程序开发笔记,你收藏了吗? ** 最近在开发微信小程序,把自己在项目中经常遇到的知识点记录下来,以便下次开发的时候查看. 开发小程序开发工具推荐vscode写代码,微信开发工具用于查看效果 ...

  7. 微信小程序开发笔记 进阶篇④——getPhoneNumber 获取用户手机号码(小程序云)

    文章目录 一.前言 二.前端代码wxml 三.前端代码js 四.云函数 五.程序流程 一.前言 微信小程序开发笔记--导读 大部分微信小程序开发者都会有这样的需求:获取小程序用户的手机号码. 但是,因 ...

  8. 微信小程序开发笔记 进阶篇⑤——getPhoneNumber 获取用户手机号码(基础库 2.21.2 之前)

    文章目录 一.前言 二.前端代码wxml 三.前端代码js 四.后端java 五.程序流程 六.参考 一.前言 微信小程序开发笔记--导读 大部分微信小程序开发者都会有这样的需求:获取小程序用户的手机 ...

  9. 微信小程序开发笔记二(WXSS和CSS样式美化)

    微信小程序开发笔记二(WXSS和CSS样式美化) 一.CSS基本知识 1.Class选择器的定义 2.ID选择器的定义 3.ID选择器和class选择器的区别 4.CSS中设置颜色 5.CSS中的文本 ...

最新文章

  1. RecyclerView smoothScrollToPosition 和 scrollToPosition 的区别
  2. 网站seo优化相关性需要了解哪三方面内容?
  3. JAVA时间格式的处理 SimpleDateFormat 类(小结)
  4. 【机器学习】SVM学习(三):线性分类器的求解
  5. 【ECSHOP】格式化商品价格
  6. fastapi jinja2_(入门篇)Python框架之FastAPI——一个比Flask和Tornado更高性能的API 框架
  7. python修改手机默认语言_修改 CentOS 6.x 上默认Python的方法
  8. 【视频内含福利】原来手机套壳视频是这么做出来的
  9. LightGBM中GBDT的实现
  10. 机器学习(三)k均值聚类
  11. .net研发工程师面试题,在线交流答案
  12. js基础知识汇总05
  13. php下载安装教程,PHP下载安装教程
  14. [AHK]--显示器输入源快速切换
  15. Python安装和环境配置
  16. PHP搞笑文字表情包在线制作网站源码
  17. 微信群如何设置永久有效二维码?99.99%的人都不知道!
  18. Java基础梳理第二天03(继承、抽象类、多态)
  19. 深度学习笔记~集成方法bagging, boosting和stacking
  20. 电脑重启后 虚拟机不见了?

热门文章

  1. 频谱细化matlab程序,分享FFT频谱细化程序(处理单频点信号)
  2. IP公有地址和私有地址划分
  3. Minio入门系列【13】使用WebUploader上传文件到Minio服务器
  4. redis关于set的常用命令
  5. 协方差计算式及python实现
  6. vue3 el-table结合seamless-scroll实现表格数据滚动
  7. Windows10 LTSC 64位企业版
  8. java MySQL所有语句
  9. 图(graph)的基本知识
  10. 开启Windows的文件大小写区分功能