应用布局基本设定
This commit is contained in:
		@@ -47,7 +47,7 @@
 | 
			
		||||
        tools:ignore="AllowBackup,GoogleAppIndexingWarning"
 | 
			
		||||
        tools:targetApi="q">
 | 
			
		||||
 | 
			
		||||
        <activity android:name=".MainSimpleActivity">
 | 
			
		||||
        <activity android:name=".MainActivity">
 | 
			
		||||
 | 
			
		||||
            <intent-filter>
 | 
			
		||||
 | 
			
		||||
@@ -59,8 +59,7 @@
 | 
			
		||||
 | 
			
		||||
        </activity>
 | 
			
		||||
 | 
			
		||||
        <activity android:name=".MainActivity2">
 | 
			
		||||
 | 
			
		||||
        <activity android:name=".MainSimpleActivity">
 | 
			
		||||
        </activity>
 | 
			
		||||
 | 
			
		||||
        <activity android:name="com.tencent.map.vector.demo.DemoMainActivity">
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,6 @@ import android.content.Intent;
 | 
			
		||||
import android.os.Build;
 | 
			
		||||
import android.os.Bundle;
 | 
			
		||||
import android.telecom.TelecomManager;
 | 
			
		||||
import android.view.LayoutInflater;
 | 
			
		||||
import android.view.Menu;
 | 
			
		||||
import android.view.MenuItem;
 | 
			
		||||
import android.view.View;
 | 
			
		||||
@@ -17,6 +16,10 @@ import android.widget.LinearLayout;
 | 
			
		||||
import android.widget.Toast;
 | 
			
		||||
import androidx.appcompat.app.AppCompatActivity;
 | 
			
		||||
import androidx.appcompat.widget.Toolbar;
 | 
			
		||||
import androidx.fragment.app.Fragment;
 | 
			
		||||
import androidx.fragment.app.FragmentManager;
 | 
			
		||||
import androidx.fragment.app.FragmentPagerAdapter;
 | 
			
		||||
import androidx.fragment.app.FragmentTransaction;
 | 
			
		||||
import androidx.viewpager.widget.ViewPager;
 | 
			
		||||
import cc.winboll.studio.libappbase.LogUtils;
 | 
			
		||||
import cc.winboll.studio.libappbase.LogView;
 | 
			
		||||
@@ -25,18 +28,18 @@ import cc.winboll.studio.libapputils.app.WinBollActivityManager;
 | 
			
		||||
import cc.winboll.studio.libapputils.bean.APPInfo;
 | 
			
		||||
import cc.winboll.studio.libapputils.view.YesNoAlertDialog;
 | 
			
		||||
import cc.winboll.studio.positions.R;
 | 
			
		||||
import com.tencent.map.vector.demo.DemoMainActivity;
 | 
			
		||||
import cc.winboll.studio.positions.activities.SettingsActivity;
 | 
			
		||||
import cc.winboll.studio.positions.adapters.MyPagerAdapter;
 | 
			
		||||
import cc.winboll.studio.positions.beans.MainServiceBean;
 | 
			
		||||
import cc.winboll.studio.positions.services.MainService;
 | 
			
		||||
import cc.winboll.studio.positions.fragments.LogFragment;
 | 
			
		||||
import cc.winboll.studio.positions.fragments.PositionsFragment;
 | 
			
		||||
import cc.winboll.studio.positions.fragments.TXMSFragment;
 | 
			
		||||
import cc.winboll.studio.positions.fragments.TasksFragment;
 | 
			
		||||
import com.google.android.material.tabs.TabLayout;
 | 
			
		||||
import com.tencent.map.vector.demo.AbsActivity;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import com.tencent.map.vector.demo.AbsListActivity;
 | 
			
		||||
import com.tencent.map.vector.demo.AbsActivity;
 | 
			
		||||
 | 
			
		||||
final public class MainSimpleActivity extends AbsActivity implements IWinBollActivity, ViewPager.OnPageChangeListener, View.OnClickListener {
 | 
			
		||||
final public class MainActivity extends AbsActivity implements IWinBollActivity, ViewPager.OnPageChangeListener, View.OnClickListener {
 | 
			
		||||
 | 
			
		||||
	public static final String TAG = "MainActivity";
 | 
			
		||||
 | 
			
		||||
@@ -46,10 +49,11 @@ final public class MainSimpleActivity extends AbsActivity implements IWinBollAct
 | 
			
		||||
    public static final String ACTION_SOS = "cc.winboll.studio.libappbase.WinBoll.ACTION_SOS";
 | 
			
		||||
 | 
			
		||||
    LogView mLogView;
 | 
			
		||||
    Toolbar mToolbar;
 | 
			
		||||
    //Toolbar mToolbar;
 | 
			
		||||
    CheckBox cbMainService;
 | 
			
		||||
    MainServiceBean mMainServiceBean;
 | 
			
		||||
    ViewPager viewPager;
 | 
			
		||||
    private TabLayout tabLayout;
 | 
			
		||||
    private ViewPager viewPager;
 | 
			
		||||
    private List<View> views; //用来存放放进ViewPager里面的布局
 | 
			
		||||
    //实例化存储imageView(导航原点)的集合
 | 
			
		||||
    ImageView[] imageViews;
 | 
			
		||||
@@ -67,19 +71,19 @@ final public class MainSimpleActivity extends AbsActivity implements IWinBollAct
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public APPInfo getAppInfo() {
 | 
			
		||||
//        String szBranchName = "contacts";
 | 
			
		||||
//        String szBranchName = "positions";
 | 
			
		||||
//
 | 
			
		||||
//        APPInfo appInfo = AboutActivityFactory.buildDefaultAPPInfo();
 | 
			
		||||
//        appInfo.setAppName("Contacts");
 | 
			
		||||
//        appInfo.setAppName("Positions");
 | 
			
		||||
//        appInfo.setAppIcon(cc.winboll.studio.libapputils.R.drawable.ic_winboll);
 | 
			
		||||
//        appInfo.setAppDescription("Contacts Description");
 | 
			
		||||
//        appInfo.setAppDescription("Positions Description");
 | 
			
		||||
//        appInfo.setAppGitName("APP");
 | 
			
		||||
//        appInfo.setAppGitOwner("Studio");
 | 
			
		||||
//        appInfo.setAppGitAPPBranch(szBranchName);
 | 
			
		||||
//        appInfo.setAppGitAPPSubProjectFolder(szBranchName);
 | 
			
		||||
//        appInfo.setAppHomePage("https://www.winboll.cc/studio/details.php?app=Contacts");
 | 
			
		||||
//        appInfo.setAppAPKName("Contacts");
 | 
			
		||||
//        appInfo.setAppAPKFolderName("Contacts");
 | 
			
		||||
//        appInfo.setAppHomePage("https://www.winboll.cc/studio/details.php?app=Positions");
 | 
			
		||||
//        appInfo.setAppAPKName("Positions");
 | 
			
		||||
//        appInfo.setAppAPKFolderName("Positions");
 | 
			
		||||
//        return appInfo;
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
@@ -92,72 +96,97 @@ final public class MainSimpleActivity extends AbsActivity implements IWinBollAct
 | 
			
		||||
        super.onCreate(savedInstanceState);
 | 
			
		||||
        setContentView(R.layout.activity_main);
 | 
			
		||||
 | 
			
		||||
        // 初始化工具栏
 | 
			
		||||
        mToolbar = findViewById(R.id.activitymainToolbar1);
 | 
			
		||||
        setSupportActionBar(mToolbar);
 | 
			
		||||
        if (isEnableDisplayHomeAsUp()) {
 | 
			
		||||
            // 显示后退按钮
 | 
			
		||||
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 | 
			
		||||
        }
 | 
			
		||||
        getSupportActionBar().setSubtitle(getTag());
 | 
			
		||||
 | 
			
		||||
        initData();
 | 
			
		||||
        initView();
 | 
			
		||||
        //initPoint();//调用初始化导航原点的方法
 | 
			
		||||
        viewPager.addOnPageChangeListener(this);//滑动事件
 | 
			
		||||
 | 
			
		||||
        ViewPager viewPager = findViewById(R.id.activitymainViewPager1);
 | 
			
		||||
        MyPagerAdapter pagerAdapter = new MyPagerAdapter(getSupportFragmentManager());
 | 
			
		||||
        viewPager.setAdapter(pagerAdapter);
 | 
			
		||||
        TabLayout tabLayout = findViewById(R.id.activitymainTabLayout1);
 | 
			
		||||
        tabLayout.setupWithViewPager(viewPager);
 | 
			
		||||
 | 
			
		||||
//        mMainServiceBean = MainServiceBean.loadBean(this, MainServiceBean.class);
 | 
			
		||||
//        if (mMainServiceBean == null) {
 | 
			
		||||
//            mMainServiceBean = new MainServiceBean();
 | 
			
		||||
//        // 初始化工具栏
 | 
			
		||||
//        mToolbar = findViewById(R.id.toolbar);
 | 
			
		||||
//        setSupportActionBar(mToolbar);
 | 
			
		||||
//        if (isEnableDisplayHomeAsUp()) {
 | 
			
		||||
//            // 显示后退按钮
 | 
			
		||||
//            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 | 
			
		||||
//        }
 | 
			
		||||
//        cbMainService = findViewById(R.id.activitymainCheckBox1);
 | 
			
		||||
//        cbMainService.setChecked(mMainServiceBean.isEnable());
 | 
			
		||||
//        cbMainService.setOnClickListener(new View.OnClickListener(){
 | 
			
		||||
//                @Override
 | 
			
		||||
//                public void onClick(View view) {
 | 
			
		||||
//                    if (cbMainService.isChecked()) {
 | 
			
		||||
//                        MainService.startMainService(MainActivity.this);
 | 
			
		||||
//                    } else {
 | 
			
		||||
//                        MainService.stopMainService(MainActivity.this);
 | 
			
		||||
//                    }
 | 
			
		||||
//                }
 | 
			
		||||
//            });
 | 
			
		||||
        MainService.startMainService(Main2Activity.this);
 | 
			
		||||
    }
 | 
			
		||||
//        getSupportActionBar().setSubtitle(getTag());
 | 
			
		||||
 | 
			
		||||
        // 初始化地图视图
 | 
			
		||||
        // 创建Fragment实例
 | 
			
		||||
        TXMSFragment myFragment = TXMSFragment.newInstance(0);
 | 
			
		||||
        // 获取FragmentTransaction
 | 
			
		||||
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
 | 
			
		||||
        // 将Fragment添加到FrameLayout容器中
 | 
			
		||||
        transaction.add(R.id.frameLayout, myFragment);
 | 
			
		||||
        transaction.commit();
 | 
			
		||||
 | 
			
		||||
        tabLayout = findViewById(R.id.tabLayout);
 | 
			
		||||
        viewPager = findViewById(R.id.viewPager);
 | 
			
		||||
 | 
			
		||||
        // 创建Fragment列表和标题列表
 | 
			
		||||
        List<Fragment> fragmentList = new ArrayList<>();
 | 
			
		||||
        List<String> tabTitleList = new ArrayList<>();
 | 
			
		||||
        fragmentList.add(PositionsFragment.newInstance(0));
 | 
			
		||||
        fragmentList.add(TasksFragment.newInstance(1));
 | 
			
		||||
        fragmentList.add(LogFragment.newInstance(2));
 | 
			
		||||
        tabTitleList.add("位置");
 | 
			
		||||
        tabTitleList.add("任务");
 | 
			
		||||
        tabTitleList.add("日志");
 | 
			
		||||
 | 
			
		||||
        // 设置ViewPager的适配器
 | 
			
		||||
        MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager(), fragmentList, tabTitleList);
 | 
			
		||||
        viewPager.setAdapter(adapter);
 | 
			
		||||
 | 
			
		||||
        // 关联TabLayout和ViewPager
 | 
			
		||||
        tabLayout.setupWithViewPager(viewPager);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    // ViewPager的适配器
 | 
			
		||||
    private class MyPagerAdapter extends FragmentPagerAdapter {
 | 
			
		||||
 | 
			
		||||
        private List<Fragment> fragmentList;
 | 
			
		||||
        private List<String> tabTitleList;
 | 
			
		||||
 | 
			
		||||
        public MyPagerAdapter(FragmentManager fm, List<Fragment> fragmentList, List<String> tabTitleList) {
 | 
			
		||||
            super(fm);
 | 
			
		||||
            this.fragmentList = fragmentList;
 | 
			
		||||
            this.tabTitleList = tabTitleList;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        public Fragment getItem(int position) {
 | 
			
		||||
            return fragmentList.get(position);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        public int getCount() {
 | 
			
		||||
            return fragmentList.size();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        public CharSequence getPageTitle(int position) {
 | 
			
		||||
            return tabTitleList.get(position);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    //初始化view,即显示的图片
 | 
			
		||||
    void initView() {
 | 
			
		||||
        viewPager = findViewById(R.id.activitymainViewPager1);
 | 
			
		||||
        pagerAdapter = new MyPagerAdapter(getSupportFragmentManager());
 | 
			
		||||
        viewPager.setAdapter(pagerAdapter);
 | 
			
		||||
        //adapter = new MyPagerAdapter(views);
 | 
			
		||||
        //viewPager = findViewById(R.id.activitymainViewPager1);
 | 
			
		||||
        //viewPager.setAdapter(adapter);
 | 
			
		||||
        //linearLayout = findViewById(R.id.activitymainLinearLayout1);
 | 
			
		||||
        //initPoint();//初始化页面下方的点
 | 
			
		||||
        viewPager.setOnPageChangeListener(this);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
//    void initViewPager() {
 | 
			
		||||
//        pagerAdapter = new MyPagerAdapter(getSupportFragmentManager());
 | 
			
		||||
//        mViewPager.setAdapter(pagerAdapter);
 | 
			
		||||
//        //adapter = new MyPagerAdapter(views);
 | 
			
		||||
//        //viewPager = findViewById(R.id.activitymainViewPager1);
 | 
			
		||||
//        //viewPager.setAdapter(adapter);
 | 
			
		||||
//        //linearLayout = findViewById(R.id.activitymainLinearLayout1);
 | 
			
		||||
//        //initPoint();//初始化页面下方的点
 | 
			
		||||
//        mViewPager.setOnPageChangeListener(this);
 | 
			
		||||
//    }
 | 
			
		||||
 | 
			
		||||
    //初始化所要显示的布局
 | 
			
		||||
    void initData() {
 | 
			
		||||
        ViewPager viewPager = findViewById(R.id.activitymainViewPager1);
 | 
			
		||||
        LayoutInflater inflater = LayoutInflater.from(getActivity());
 | 
			
		||||
        View view1 = inflater.inflate(R.layout.fragment_gms, viewPager, false);
 | 
			
		||||
        View view2 = inflater.inflate(R.layout.fragment_contacts, viewPager, false);
 | 
			
		||||
        View view3 = inflater.inflate(R.layout.fragment_log, viewPager, false);
 | 
			
		||||
 | 
			
		||||
        views = new ArrayList<>();
 | 
			
		||||
        views.add(view1);
 | 
			
		||||
        views.add(view2);
 | 
			
		||||
        views.add(view3);
 | 
			
		||||
    }
 | 
			
		||||
//    void initLayoutData() {
 | 
			
		||||
//        LayoutInflater inflater = LayoutInflater.from(getActivity());
 | 
			
		||||
//        View view1 = inflater.inflate(R.layout.fragment_gms, mViewPager, false);
 | 
			
		||||
//        View view2 = inflater.inflate(R.layout.fragment_contacts, mViewPager, false);
 | 
			
		||||
//        View view3 = inflater.inflate(R.layout.fragment_log, mViewPager, false);
 | 
			
		||||
//
 | 
			
		||||
//        views = new ArrayList<>();
 | 
			
		||||
//        views.add(view1);
 | 
			
		||||
//        views.add(view2);
 | 
			
		||||
//        views.add(view3);
 | 
			
		||||
//    }
 | 
			
		||||
 | 
			
		||||
//    void initPoint() {
 | 
			
		||||
//        imageViews = new ImageView[5];//实例化5个图片
 | 
			
		||||
@@ -225,51 +254,6 @@ final public class MainSimpleActivity extends AbsActivity implements IWinBollAct
 | 
			
		||||
        LogUtils.d(TAG, "onDestroy() SOS");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    //
 | 
			
		||||
    // 处理传入的 Intent 数据
 | 
			
		||||
    //
 | 
			
		||||
//    boolean prosessIntents(Intent intent) {
 | 
			
		||||
//        if (intent == null 
 | 
			
		||||
//            || intent.getAction() == null
 | 
			
		||||
//            || intent.getAction().equals(""))
 | 
			
		||||
//            return false;
 | 
			
		||||
//
 | 
			
		||||
//        if (intent.getAction().equals(StringToQrCodeView.ACTION_UNITTEST_QRCODE)) {
 | 
			
		||||
//            try {
 | 
			
		||||
//                WinBollActivity clazzActivity = UnitTestActivity.class.newInstance();
 | 
			
		||||
//                String tag = clazzActivity.getTag();
 | 
			
		||||
//                LogUtils.d(TAG, "String tag = clazzActivity.getTag(); tag " + tag);
 | 
			
		||||
//                Intent subIntent = new Intent(this, UnitTestActivity.class);
 | 
			
		||||
//                subIntent.setAction(intent.getAction());
 | 
			
		||||
//                File file = new File(getCacheDir(), UUID.randomUUID().toString());
 | 
			
		||||
//                //取出文件uri
 | 
			
		||||
//                Uri uri = intent.getData();
 | 
			
		||||
//                if (uri == null) {
 | 
			
		||||
//                    uri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
 | 
			
		||||
//                }
 | 
			
		||||
//                //获取文件真实地址
 | 
			
		||||
//                String szSrcPath = UriUtils.getFileFromUri(getApplication(), uri);
 | 
			
		||||
//                if (TextUtils.isEmpty(szSrcPath)) {
 | 
			
		||||
//                    return false;
 | 
			
		||||
//                }
 | 
			
		||||
//
 | 
			
		||||
//                Files.copy(Paths.get(szSrcPath), Paths.get(file.getPath()));
 | 
			
		||||
//                //startWinBollActivity(subIntent, tag);
 | 
			
		||||
//                WinBollActivityManager.getInstance(this).startWinBollActivity(this, subIntent, UnitTestActivity.class);
 | 
			
		||||
//            } catch (IllegalAccessException | InstantiationException | IOException e) {
 | 
			
		||||
//                LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
 | 
			
		||||
//                // 函数处理异常返回失败
 | 
			
		||||
//                return false;
 | 
			
		||||
//            }
 | 
			
		||||
//        } else {
 | 
			
		||||
//            LogUtils.d(TAG, "prosessIntents|" + intent.getAction() + "|yet");
 | 
			
		||||
//            return false;
 | 
			
		||||
//        }
 | 
			
		||||
//        return true;
 | 
			
		||||
//    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public String getTag() {
 | 
			
		||||
        return TAG;
 | 
			
		||||
@@ -277,7 +261,7 @@ final public class MainSimpleActivity extends AbsActivity implements IWinBollAct
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Toolbar initToolBar() {
 | 
			
		||||
        return findViewById(R.id.activitymainToolbar1);
 | 
			
		||||
        return findViewById(R.id.toolbar);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
@@ -386,7 +370,7 @@ final public class MainSimpleActivity extends AbsActivity implements IWinBollAct
 | 
			
		||||
//        }
 | 
			
		||||
        if (requestCode == DIALER_REQUEST_CODE) {
 | 
			
		||||
            if (resultCode == Activity.RESULT_OK) {
 | 
			
		||||
                Toast.makeText(Main2Activity.this, getString(R.string.app_name) + " 已成为默认电话应用",
 | 
			
		||||
                Toast.makeText(MainActivity.this, getString(R.string.app_name) + " 已成为默认电话应用",
 | 
			
		||||
                               Toast.LENGTH_SHORT).show();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
@@ -9,29 +9,30 @@ import androidx.annotation.NonNull;
 | 
			
		||||
import androidx.fragment.app.Fragment;
 | 
			
		||||
import androidx.fragment.app.FragmentManager;
 | 
			
		||||
import androidx.fragment.app.FragmentPagerAdapter;
 | 
			
		||||
import cc.winboll.studio.positions.fragments.GmsFragment;
 | 
			
		||||
import cc.winboll.studio.positions.fragments.ContactsFragment;
 | 
			
		||||
import cc.winboll.studio.positions.fragments.TasksFragment;
 | 
			
		||||
import cc.winboll.studio.positions.fragments.PositionsFragment;
 | 
			
		||||
import cc.winboll.studio.positions.fragments.LogFragment;
 | 
			
		||||
 | 
			
		||||
public class MyPagerAdapter extends FragmentPagerAdapter {
 | 
			
		||||
    public static final String TAG = "MyPagerAdapter";
 | 
			
		||||
public class MyPagerAdapter2 extends FragmentPagerAdapter {
 | 
			
		||||
    public static final String TAG = "MyPagerAdapter2";
 | 
			
		||||
 | 
			
		||||
    private static final int PAGE_COUNT = 3;
 | 
			
		||||
 | 
			
		||||
    public MyPagerAdapter(@NonNull FragmentManager fm) {
 | 
			
		||||
    public MyPagerAdapter2(@NonNull FragmentManager fm) {
 | 
			
		||||
        super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @NonNull
 | 
			
		||||
    @Override
 | 
			
		||||
    public Fragment getItem(int position) {
 | 
			
		||||
        if(position == 1) {
 | 
			
		||||
            return ContactsFragment.newInstance(position);
 | 
			
		||||
        } else if(position == 2) {
 | 
			
		||||
            return LogFragment.newInstance(position);
 | 
			
		||||
        } else {
 | 
			
		||||
            return GmsFragment.newInstance(position);
 | 
			
		||||
        }
 | 
			
		||||
//        if(position == 0) {
 | 
			
		||||
//            return PositionsFragment.newInstance(position);
 | 
			
		||||
//        } else if(position == 1) {
 | 
			
		||||
//            return TasksFragment.newInstance(position);
 | 
			
		||||
//        } else {
 | 
			
		||||
//            return LogFragment.newInstance(position);
 | 
			
		||||
//        }
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
@@ -1,111 +0,0 @@
 | 
			
		||||
package cc.winboll.studio.positions.fragments;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author ZhanGSKen@AliYun.Com
 | 
			
		||||
 * @Date 2025/02/20 12:57:00
 | 
			
		||||
 * @Describe 拨号
 | 
			
		||||
 */
 | 
			
		||||
import android.os.Bundle;
 | 
			
		||||
import android.view.LayoutInflater;
 | 
			
		||||
import android.view.View;
 | 
			
		||||
import android.view.ViewGroup;
 | 
			
		||||
import androidx.fragment.app.Fragment;
 | 
			
		||||
import cc.winboll.studio.positions.R;
 | 
			
		||||
import cc.winboll.studio.libappbase.LogView;
 | 
			
		||||
import androidx.annotation.Nullable;
 | 
			
		||||
import androidx.annotation.NonNull;
 | 
			
		||||
import android.graphics.Color;
 | 
			
		||||
import android.widget.TextView;
 | 
			
		||||
import cc.winboll.studio.positions.views.GridMapView;
 | 
			
		||||
import com.tencent.tencentmap.mapsdk.maps.MapView;
 | 
			
		||||
import com.tencent.tencentmap.mapsdk.maps.TencentMap;
 | 
			
		||||
import com.tencent.tencentmap.mapsdk.maps.TextureMapView;
 | 
			
		||||
 | 
			
		||||
public class GmsFragment extends Fragment {
 | 
			
		||||
 | 
			
		||||
    public static final String TAG = "GmsFragment";
 | 
			
		||||
 | 
			
		||||
    private static final String ARG_PAGE = "ARG_PAGE";
 | 
			
		||||
    private int mPage;
 | 
			
		||||
    private TextureMapView mapView;
 | 
			
		||||
    protected TencentMap tencentMap;
 | 
			
		||||
    
 | 
			
		||||
    public static GmsFragment newInstance(int page) {
 | 
			
		||||
        Bundle args = new Bundle();
 | 
			
		||||
        args.putInt(ARG_PAGE, page);
 | 
			
		||||
        GmsFragment fragment = new GmsFragment();
 | 
			
		||||
        fragment.setArguments(args);
 | 
			
		||||
        return fragment;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onCreate(Bundle savedInstanceState) {
 | 
			
		||||
        super.onCreate(savedInstanceState);
 | 
			
		||||
        if (getArguments()!= null) {
 | 
			
		||||
            mPage = getArguments().getInt(ARG_PAGE);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Nullable
 | 
			
		||||
    @Override
 | 
			
		||||
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
 | 
			
		||||
                             @Nullable Bundle savedInstanceState) {
 | 
			
		||||
        View view = inflater.inflate(R.layout.fragment_gms, container, false);
 | 
			
		||||
 | 
			
		||||
//        // 初始化视图
 | 
			
		||||
//        GridMapView mapView = (GridMapView) view.findViewById(R.id.map_view);
 | 
			
		||||
//
 | 
			
		||||
//        // 设置网格参数
 | 
			
		||||
//        mapView.setGridParameters(10000f, 10000f, 10f);
 | 
			
		||||
//
 | 
			
		||||
//        // 初始化显示区域(中心点400,300,显示范围2000x200)
 | 
			
		||||
//        mapView.initViewport(5000f, 5000f, 1000f, 1000f);
 | 
			
		||||
//
 | 
			
		||||
//        // 绘制图形
 | 
			
		||||
//        mapView.drawPoint(5000f, 5000f, Color.RED, 8f);
 | 
			
		||||
//        mapView.drawCircle(5000f, 5000f, 50f, Color.BLUE, 8f);
 | 
			
		||||
//        mapView.drawLine(4975f, 4975f, 5025f, 5025f, Color.GREEN, 2f);
 | 
			
		||||
        
 | 
			
		||||
        // 初始化地图视图
 | 
			
		||||
        mapView = view.findViewById(R.id.mapView);
 | 
			
		||||
        mapView.setOpaque(false);
 | 
			
		||||
        //创建tencentMap地图对象,可以完成对地图的几乎所有操作
 | 
			
		||||
        tencentMap = mapView.getMap();
 | 
			
		||||
        
 | 
			
		||||
        return view;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * mapview的生命周期管理
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onStart() {
 | 
			
		||||
        super.onStart();
 | 
			
		||||
        mapView.onStart();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onResume() {
 | 
			
		||||
        super.onResume();
 | 
			
		||||
        mapView.onResume();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onPause() {
 | 
			
		||||
        super.onPause();
 | 
			
		||||
        mapView.onPause();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onStop() {
 | 
			
		||||
        super.onStop();
 | 
			
		||||
        mapView.onStop();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onDestroy() {
 | 
			
		||||
        super.onDestroy();
 | 
			
		||||
        mapView.onDestroy();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -14,18 +14,19 @@ import androidx.annotation.NonNull;
 | 
			
		||||
import androidx.annotation.Nullable;
 | 
			
		||||
import androidx.fragment.app.Fragment;
 | 
			
		||||
import cc.winboll.studio.positions.R;
 | 
			
		||||
import androidx.appcompat.widget.Toolbar;
 | 
			
		||||
 | 
			
		||||
public class ContactsFragment extends Fragment {
 | 
			
		||||
public class PositionsFragment extends Fragment {
 | 
			
		||||
    
 | 
			
		||||
    public static final String TAG = "ContactsFragment";
 | 
			
		||||
    
 | 
			
		||||
    private static final String ARG_PAGE = "ARG_PAGE";
 | 
			
		||||
    private int mPage;
 | 
			
		||||
 | 
			
		||||
    public static ContactsFragment newInstance(int page) {
 | 
			
		||||
    public static PositionsFragment newInstance(int page) {
 | 
			
		||||
        Bundle args = new Bundle();
 | 
			
		||||
        args.putInt(ARG_PAGE, page);
 | 
			
		||||
        ContactsFragment fragment = new ContactsFragment();
 | 
			
		||||
        PositionsFragment fragment = new PositionsFragment();
 | 
			
		||||
        fragment.setArguments(args);
 | 
			
		||||
        return fragment;
 | 
			
		||||
    }
 | 
			
		||||
@@ -42,9 +43,10 @@ public class ContactsFragment extends Fragment {
 | 
			
		||||
    @Override
 | 
			
		||||
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
 | 
			
		||||
                             @Nullable Bundle savedInstanceState) {
 | 
			
		||||
        View view = inflater.inflate(R.layout.fragment_contacts, container, false);
 | 
			
		||||
        TextView textView = view.findViewById(R.id.page_text);
 | 
			
		||||
        textView.setText("这是第 " + mPage + " 页");
 | 
			
		||||
        return view;
 | 
			
		||||
        View viewMain = inflater.inflate(R.layout.fragment_positions, container, false);
 | 
			
		||||
        Toolbar toolbar = viewMain.findViewById(R.id.toolbar);
 | 
			
		||||
        getActivity().getMenuInflater().inflate(R.menu.toolbar_positions,  toolbar.getMenu());
 | 
			
		||||
        
 | 
			
		||||
        return viewMain;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -71,10 +71,11 @@ import com.tencent.tencentmap.mapsdk.maps.TencentMap;
 | 
			
		||||
import com.tencent.tencentmap.mapsdk.maps.TextureMapView;
 | 
			
		||||
 | 
			
		||||
public class TXMSFragment extends Fragment implements EasyPermissions.PermissionCallbacks,LocationSource, TencentLocationListener {
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    public static final String TAG = "TXMSFragment";
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    private static final int PERMISSION_REQUEST_CODE = 1;
 | 
			
		||||
 | 
			
		||||
    private static final String ARG_PAGE = "ARG_PAGE";
 | 
			
		||||
    private int mPage;
 | 
			
		||||
    private TextureMapView mapView;
 | 
			
		||||
@@ -90,7 +91,7 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
    public static TXMSFragment newInstance(int page) {
 | 
			
		||||
        Bundle args = new Bundle();
 | 
			
		||||
        args.putInt(ARG_PAGE, page);
 | 
			
		||||
        TXMSFragment fragment = new GmsFragment();
 | 
			
		||||
        TXMSFragment fragment = new TXMSFragment();
 | 
			
		||||
        fragment.setArguments(args);
 | 
			
		||||
        return fragment;
 | 
			
		||||
    }
 | 
			
		||||
@@ -98,7 +99,7 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onCreate(Bundle savedInstanceState) {
 | 
			
		||||
        super.onCreate(savedInstanceState);
 | 
			
		||||
        if (getArguments()!= null) {
 | 
			
		||||
        if (getArguments() != null) {
 | 
			
		||||
            mPage = getArguments().getInt(ARG_PAGE);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@@ -107,14 +108,11 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
    @Override
 | 
			
		||||
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
 | 
			
		||||
                             @Nullable Bundle savedInstanceState) {
 | 
			
		||||
        View viewRoot = inflater.inflate(R.layout.fragment_gms, container, false);
 | 
			
		||||
        View viewRoot = inflater.inflate(R.layout.fragment_txms, container, false);
 | 
			
		||||
        locationJsonList = new ArrayList<LocationJson>();
 | 
			
		||||
 | 
			
		||||
        mLogView = viewRoot.findViewById(R.id.logview);
 | 
			
		||||
        mLogView.start();
 | 
			
		||||
 | 
			
		||||
        TencentMapInitializer.setAgreePrivacy(this, true);
 | 
			
		||||
        TencentMapInitializer.start(this);
 | 
			
		||||
        TencentMapInitializer.setAgreePrivacy(getActivity(), true);
 | 
			
		||||
        TencentMapInitializer.start(getActivity());
 | 
			
		||||
        TencentLocationManager.setUserAgreePrivacy(true);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -123,13 +121,13 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
        //创建tencentMap地图对象,可以完成对地图的几乎所有操作
 | 
			
		||||
        tencentMap = mapView.getMap();
 | 
			
		||||
 | 
			
		||||
        FloatingActionButton fab = viewRoot.findViewById(R.id.fab);
 | 
			
		||||
        fab.setOnClickListener(new View.OnClickListener() {
 | 
			
		||||
                @Override
 | 
			
		||||
                public void onClick(View view) {
 | 
			
		||||
                    Snackbar.make(view, "点击了悬浮按钮", Snackbar.LENGTH_LONG).show();
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
//        FloatingActionButton fab = viewRoot.findViewById(R.id.fab);
 | 
			
		||||
//        fab.setOnClickListener(new View.OnClickListener() {
 | 
			
		||||
//                @Override
 | 
			
		||||
//                public void onClick(View view) {
 | 
			
		||||
//                    Snackbar.make(view, "点击了悬浮按钮", Snackbar.LENGTH_LONG).show();
 | 
			
		||||
//                }
 | 
			
		||||
//            });
 | 
			
		||||
 | 
			
		||||
        mtvInfo = viewRoot.findViewById(R.id.tv_info);
 | 
			
		||||
 | 
			
		||||
@@ -169,10 +167,11 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
        loadLocations();
 | 
			
		||||
        
 | 
			
		||||
        return viewRoot;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    void loadLocations() {
 | 
			
		||||
        // 存储位置数据
 | 
			
		||||
//        Location location = new Location("gps");
 | 
			
		||||
@@ -186,7 +185,7 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
//        LocationFileStorage.saveToFile(this, locations);
 | 
			
		||||
 | 
			
		||||
        // 读取数据
 | 
			
		||||
        locationJsonList = LocationFileStorage.loadFromFile(this);
 | 
			
		||||
        locationJsonList = LocationFileStorage.loadFromFile(getActivity());
 | 
			
		||||
 | 
			
		||||
        for (LocationJson lj : locationJsonList) {
 | 
			
		||||
            tencentMap.addMarker(new MarkerOptions(toTencentLatLng(lj.toLocation())));
 | 
			
		||||
@@ -204,7 +203,7 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
        // 方式1:保存到文件
 | 
			
		||||
        //List<Location> locations = new ArrayList<>();
 | 
			
		||||
        locationJsonList.add(new LocationJson(location));
 | 
			
		||||
        LocationFileStorage.saveToFile(this, locationJsonList);
 | 
			
		||||
        LocationFileStorage.saveToFile(getActivity(), locationJsonList);
 | 
			
		||||
 | 
			
		||||
        // 读取数据
 | 
			
		||||
//        List<Location> loaded = LocationFileStorage.loadFromFile(this);
 | 
			
		||||
@@ -282,18 +281,6 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
        super.onDestroy();
 | 
			
		||||
        mapView.onDestroy();
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void onPostCreate(Bundle savedInstanceState) {
 | 
			
		||||
        super.onPostCreate(savedInstanceState);
 | 
			
		||||
//        LatLng center = new LatLng(39.904556, 116.427242);
 | 
			
		||||
//        tencentMap.moveCamera(
 | 
			
		||||
//            CameraUpdateFactory.newLatLngZoom(center, 13f) // 注意 13 → 13f
 | 
			
		||||
//        );
 | 
			
		||||
        loadLocations();
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 设置定位图标样式
 | 
			
		||||
@@ -334,7 +321,7 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
     */
 | 
			
		||||
    private void initLocation() {
 | 
			
		||||
        //用于访问腾讯定位服务的类, 周期性向客户端提供位置更新
 | 
			
		||||
        locationManager = TencentLocationManager.getInstance(this);
 | 
			
		||||
        locationManager = TencentLocationManager.getInstance(getActivity());
 | 
			
		||||
        //设置坐标系
 | 
			
		||||
        locationManager.setCoordinateType(TencentLocationManager.COORDINATE_TYPE_GCJ02);
 | 
			
		||||
        //创建定位请求
 | 
			
		||||
@@ -369,7 +356,7 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
            locationChangedListener.onLocationChanged(location);
 | 
			
		||||
 | 
			
		||||
            //显示回调的实时位置信息
 | 
			
		||||
            runOnUiThread(new Runnable() {
 | 
			
		||||
            getActivity().runOnUiThread(new Runnable() {
 | 
			
		||||
                    @Override
 | 
			
		||||
                    public void run() {
 | 
			
		||||
//                        Rules.getEffectInfo(location);
 | 
			
		||||
@@ -401,13 +388,13 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
        int err = locationManager.requestLocationUpdates(locationRequest, this, Looper.myLooper());
 | 
			
		||||
        switch (err) {
 | 
			
		||||
            case 1:
 | 
			
		||||
                Toast.makeText(this, "设备缺少使用腾讯定位服务需要的基本条件", Toast.LENGTH_SHORT).show();
 | 
			
		||||
                Toast.makeText(getActivity(), "设备缺少使用腾讯定位服务需要的基本条件", Toast.LENGTH_SHORT).show();
 | 
			
		||||
                break;
 | 
			
		||||
            case 2:
 | 
			
		||||
                Toast.makeText(this, "manifest 中配置的 key 不正确", Toast.LENGTH_SHORT).show();
 | 
			
		||||
                Toast.makeText(getActivity(), "manifest 中配置的 key 不正确", Toast.LENGTH_SHORT).show();
 | 
			
		||||
                break;
 | 
			
		||||
            case 3:
 | 
			
		||||
                Toast.makeText(this, "自动加载libtencentloc.so失败", Toast.LENGTH_SHORT).show();
 | 
			
		||||
                Toast.makeText(getActivity(), "自动加载libtencentloc.so失败", Toast.LENGTH_SHORT).show();
 | 
			
		||||
                break;
 | 
			
		||||
 | 
			
		||||
            default:
 | 
			
		||||
@@ -434,9 +421,9 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void checkLocationPermission() {
 | 
			
		||||
        if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
 | 
			
		||||
            || ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
 | 
			
		||||
            ActivityCompat.requestPermissions(this,
 | 
			
		||||
        if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
 | 
			
		||||
            || ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
 | 
			
		||||
            ActivityCompat.requestPermissions(getActivity(),
 | 
			
		||||
                                              new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},
 | 
			
		||||
                                              PERMISSION_REQUEST_CODE);
 | 
			
		||||
        } else {
 | 
			
		||||
@@ -452,10 +439,10 @@ public class TXMSFragment extends Fragment implements EasyPermissions.Permission
 | 
			
		||||
                //startLocationUpdates();
 | 
			
		||||
            } else {
 | 
			
		||||
                // 用户拒绝了权限请求
 | 
			
		||||
                Toast.makeText(this, "请授予定位权限", Toast.LENGTH_SHORT).show();
 | 
			
		||||
                Toast.makeText(getActivity(), "请授予定位权限", Toast.LENGTH_SHORT).show();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,59 @@
 | 
			
		||||
package cc.winboll.studio.positions.fragments;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @Author ZhanGSKen@AliYun.Com
 | 
			
		||||
 * @Date 2025/02/20 12:57:00
 | 
			
		||||
 * @Describe 拨号
 | 
			
		||||
 */
 | 
			
		||||
import android.os.Bundle;
 | 
			
		||||
import android.view.LayoutInflater;
 | 
			
		||||
import android.view.View;
 | 
			
		||||
import android.view.ViewGroup;
 | 
			
		||||
import androidx.fragment.app.Fragment;
 | 
			
		||||
import cc.winboll.studio.positions.R;
 | 
			
		||||
import cc.winboll.studio.libappbase.LogView;
 | 
			
		||||
import androidx.annotation.Nullable;
 | 
			
		||||
import androidx.annotation.NonNull;
 | 
			
		||||
import android.graphics.Color;
 | 
			
		||||
import android.widget.TextView;
 | 
			
		||||
import cc.winboll.studio.positions.views.GridMapView;
 | 
			
		||||
import com.tencent.tencentmap.mapsdk.maps.MapView;
 | 
			
		||||
import com.tencent.tencentmap.mapsdk.maps.TencentMap;
 | 
			
		||||
import com.tencent.tencentmap.mapsdk.maps.TextureMapView;
 | 
			
		||||
import androidx.appcompat.widget.Toolbar;
 | 
			
		||||
 | 
			
		||||
public class TasksFragment extends Fragment {
 | 
			
		||||
 | 
			
		||||
    public static final String TAG = "GmsFragment";
 | 
			
		||||
 | 
			
		||||
    private static final String ARG_PAGE = "ARG_PAGE";
 | 
			
		||||
    private int mPage;
 | 
			
		||||
    
 | 
			
		||||
    public static TasksFragment newInstance(int page) {
 | 
			
		||||
        Bundle args = new Bundle();
 | 
			
		||||
        args.putInt(ARG_PAGE, page);
 | 
			
		||||
        TasksFragment fragment = new TasksFragment();
 | 
			
		||||
        fragment.setArguments(args);
 | 
			
		||||
        return fragment;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void onCreate(Bundle savedInstanceState) {
 | 
			
		||||
        super.onCreate(savedInstanceState);
 | 
			
		||||
        if (getArguments()!= null) {
 | 
			
		||||
            mPage = getArguments().getInt(ARG_PAGE);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Nullable
 | 
			
		||||
    @Override
 | 
			
		||||
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
 | 
			
		||||
                             @Nullable Bundle savedInstanceState) {
 | 
			
		||||
        View viewMain = inflater.inflate(R.layout.fragment_tasks, container, false);
 | 
			
		||||
        Toolbar toolbar = viewMain.findViewById(R.id.toolbar);
 | 
			
		||||
        getActivity().getMenuInflater().inflate(R.menu.toolbar_tasks,  toolbar.getMenu());
 | 
			
		||||
        
 | 
			
		||||
        
 | 
			
		||||
        return viewMain;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -7,21 +7,21 @@
 | 
			
		||||
	android:layout_width="match_parent"
 | 
			
		||||
	android:layout_height="match_parent">
 | 
			
		||||
 | 
			
		||||
	<androidx.appcompat.widget.Toolbar
 | 
			
		||||
	<FrameLayout
 | 
			
		||||
		android:layout_width="match_parent"
 | 
			
		||||
		android:layout_height="wrap_content"
 | 
			
		||||
		android:id="@+id/activitymainToolbar1"/>
 | 
			
		||||
		android:layout_height="400dp"
 | 
			
		||||
		android:id="@+id/frameLayout"/>
 | 
			
		||||
 | 
			
		||||
	<androidx.viewpager.widget.ViewPager
 | 
			
		||||
		android:layout_width="match_parent"
 | 
			
		||||
		android:layout_height="0dp"
 | 
			
		||||
		android:layout_weight="1.0"
 | 
			
		||||
		android:id="@+id/activitymainViewPager1"/>
 | 
			
		||||
		android:id="@+id/viewPager"/>
 | 
			
		||||
 | 
			
		||||
	<com.google.android.material.tabs.TabLayout
 | 
			
		||||
		android:layout_width="match_parent"
 | 
			
		||||
		android:layout_height="60dp"
 | 
			
		||||
		android:id="@+id/activitymainTabLayout1"/>
 | 
			
		||||
		android:id="@+id/tabLayout"/>
 | 
			
		||||
 | 
			
		||||
</LinearLayout>
 | 
			
		||||
 | 
			
		||||
@@ -5,8 +5,10 @@
 | 
			
		||||
    android:orientation="vertical"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="match_parent">
 | 
			
		||||
     <cc.winboll.studio.libappbase.LogView
 | 
			
		||||
            android:layout_height="match_parent"
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:id="@+id/logview"/>
 | 
			
		||||
    
 | 
			
		||||
    <cc.winboll.studio.libappbase.LogView
 | 
			
		||||
        android:layout_height="match_parent"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:id="@+id/logview"/>
 | 
			
		||||
    
 | 
			
		||||
</LinearLayout>
 | 
			
		||||
 
 | 
			
		||||
@@ -6,10 +6,14 @@
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="match_parent">
 | 
			
		||||
 | 
			
		||||
    <androidx.appcompat.widget.Toolbar
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
		android:id="@+id/toolbar"/>
 | 
			
		||||
    
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:layout_width="wrap_content"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:text="Text"
 | 
			
		||||
        android:id="@+id/page_text"/>
 | 
			
		||||
        android:text="fragment_positions"/>
 | 
			
		||||
    
 | 
			
		||||
</LinearLayout>
 | 
			
		||||
@@ -6,10 +6,15 @@
 | 
			
		||||
	android:layout_width="match_parent"
 | 
			
		||||
	android:layout_height="match_parent">
 | 
			
		||||
 | 
			
		||||
    <com.tencent.tencentmap.mapsdk.maps.TextureMapView
 | 
			
		||||
        android:id="@+id/mapView"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="match_parent" />
 | 
			
		||||
	<androidx.appcompat.widget.Toolbar
 | 
			
		||||
		android:layout_width="match_parent"
 | 
			
		||||
		android:layout_height="wrap_content"
 | 
			
		||||
		android:id="@+id/toolbar"/>
 | 
			
		||||
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:layout_width="wrap_content"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:text="fragment_tasks"/>
 | 
			
		||||
 | 
			
		||||
</LinearLayout>
 | 
			
		||||
 | 
			
		||||
@@ -6,16 +6,9 @@
 | 
			
		||||
    android:orientation="vertical"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="match_parent">
 | 
			
		||||
 | 
			
		||||
    <androidx.appcompat.widget.Toolbar
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:id="@+id/activitymainToolbar1"/>
 | 
			
		||||
 | 
			
		||||
    <RelativeLayout
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="0dp"
 | 
			
		||||
        android:layout_weight="1.0">
 | 
			
		||||
        android:layout_height="match_parent">
 | 
			
		||||
 | 
			
		||||
        <com.tencent.tencentmap.mapsdk.maps.TextureMapView
 | 
			
		||||
            android:id="@+id/mapview"
 | 
			
		||||
@@ -35,17 +28,7 @@
 | 
			
		||||
 | 
			
		||||
        </TextView>
 | 
			
		||||
 | 
			
		||||
        <com.google.android.material.floatingactionbutton.FloatingActionButton
 | 
			
		||||
            android:id="@+id/fab"
 | 
			
		||||
            android:layout_width="wrap_content"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:layout_alignParentEnd="true"
 | 
			
		||||
            android:layout_margin="16dp"
 | 
			
		||||
            android:src="@drawable/ic_location_searching"
 | 
			
		||||
            app:backgroundTint="@color/colorPrimary"
 | 
			
		||||
            android:layout_alignParentTop="true"/>
 | 
			
		||||
 | 
			
		||||
    </RelativeLayout>
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
</LinearLayout>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								positions/src/main/res/menu/toolbar_positions.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								positions/src/main/res/menu/toolbar_positions.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
	xmlns:app="http://schemas.android.com/apk/res-auto">
 | 
			
		||||
    
 | 
			
		||||
    <item
 | 
			
		||||
        android:id="@+id/item_addposition"
 | 
			
		||||
        android:title="AddPositions"
 | 
			
		||||
        app:showAsAction="ifRoom" />
 | 
			
		||||
    
 | 
			
		||||
</menu>
 | 
			
		||||
							
								
								
									
										10
									
								
								positions/src/main/res/menu/toolbar_tasks.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								positions/src/main/res/menu/toolbar_tasks.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
	xmlns:app="http://schemas.android.com/apk/res-auto">
 | 
			
		||||
    
 | 
			
		||||
    <item
 | 
			
		||||
        android:id="@+id/item_addtask"
 | 
			
		||||
        android:title="AddTask"
 | 
			
		||||
        app:showAsAction="ifRoom" />
 | 
			
		||||
    
 | 
			
		||||
</menu>
 | 
			
		||||
		Reference in New Issue
	
	Block a user