添加了设置页面、新增了操作控制页面、完善了APP部分的细节、消除了部分警告、调整了各个页面细节
parent
9c4e5a9279
commit
4e6115b7ec
|
@ -1,6 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="GradleMigrationSettings" migrationVersion="1" />
|
|
||||||
<component name="GradleSettings">
|
<component name="GradleSettings">
|
||||||
<option name="linkedExternalProjectsSettings">
|
<option name="linkedExternalProjectsSettings">
|
||||||
<GradleProjectSettings>
|
<GradleProjectSettings>
|
||||||
|
|
Binary file not shown.
|
@ -1,26 +1,26 @@
|
||||||
package com.example.wifidemo;
|
package com.example.wifidemo;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import androidx.test.platform.app.InstrumentationRegistry;
|
import androidx.test.platform.app.InstrumentationRegistry;
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instrumented test, which will execute on an Android device.
|
* Instrumented test, which will execute on an Android device.
|
||||||
*
|
*
|
||||||
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||||
*/
|
*/
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class ExampleInstrumentedTest {
|
public class ExampleInstrumentedTest {
|
||||||
@Test
|
@Test
|
||||||
public void useAppContext() {
|
public void useAppContext() {
|
||||||
// Context of the app under test.
|
// Context of the app under test.
|
||||||
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
||||||
assertEquals("com.example.wifidemo", appContext.getPackageName());
|
assertEquals("com.example.wifidemo", appContext.getPackageName());
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -7,16 +7,11 @@
|
||||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" /> <!-- 用于读取手机当前的状态 -->
|
||||||
<!--用于读取手机当前的状态-->
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 用于写入缓存数据到扩展存储卡 -->
|
||||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 用于申请调用A-GPS模块 -->
|
||||||
<!--用于写入缓存数据到扩展存储卡-->
|
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <!-- 用于进行网络定位 -->
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 用于访问GPS定位 -->
|
||||||
<!--用于申请调用A-GPS模块-->
|
|
||||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
|
|
||||||
<!--用于进行网络定位-->
|
|
||||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
|
||||||
<!--用于访问GPS定位-->
|
|
||||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
|
@ -30,6 +25,12 @@
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/Theme.UPBot"
|
android:theme="@style/Theme.UPBot"
|
||||||
tools:targetApi="31">
|
tools:targetApi="31">
|
||||||
|
<activity
|
||||||
|
android:name=".EditActivity"
|
||||||
|
android:exported="false" />
|
||||||
|
<activity
|
||||||
|
android:name=".RobotActivity"
|
||||||
|
android:exported="false" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".ESP8266ClientActivity"
|
android:name=".ESP8266ClientActivity"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
|
@ -39,9 +40,11 @@
|
||||||
<activity
|
<activity
|
||||||
android:name=".ServiceActivity"
|
android:name=".ServiceActivity"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
<activity android:name=".MainActivity"
|
<activity
|
||||||
android:exported="false"/>
|
android:name=".MainActivity"
|
||||||
<activity android:name=".SplashActivity"
|
android:exported="false" />
|
||||||
|
<activity
|
||||||
|
android:name=".SplashActivity"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
@ -49,7 +52,10 @@
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<meta-data android:name="com.amap.api.v2.apikey" android:value="0daf67ccbd867127479dbbb10f105999"/>
|
|
||||||
|
<meta-data
|
||||||
|
android:name="com.amap.api.v2.apikey"
|
||||||
|
android:value="0daf67ccbd867127479dbbb10f105999" />
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
|
@ -1,10 +1,13 @@
|
||||||
package com.example.upbot;
|
package com.example.upbot;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
@ -12,9 +15,13 @@ import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.ActionBar;
|
import androidx.appcompat.app.ActionBar;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.appcompat.widget.Toolbar;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
|
import com.example.upbot.MSG.MSG_CMD;
|
||||||
|
|
||||||
|
|
||||||
@SuppressLint("StaticFieldLeak")
|
@SuppressLint("StaticFieldLeak")
|
||||||
|
@ -22,11 +29,16 @@ public class ClientActivity extends AppCompatActivity {
|
||||||
private static EditText msgET;
|
private static EditText msgET;
|
||||||
private static Button confirmBtn;
|
private static Button confirmBtn;
|
||||||
private static Button sendBtn;
|
private static Button sendBtn;
|
||||||
private static ActionBar actionBar;
|
|
||||||
private static EditText ipET;
|
private static EditText ipET;
|
||||||
|
|
||||||
private static ImageView startRobot;
|
private static ImageView startRobot;
|
||||||
|
|
||||||
|
private static ImageView imageView4;
|
||||||
|
|
||||||
|
private static ImageView iv_charge;
|
||||||
|
|
||||||
|
private static ImageView iv_stop_robot;
|
||||||
|
|
||||||
private static StringBuffer stringBuffer = new StringBuffer();
|
private static StringBuffer stringBuffer = new StringBuffer();
|
||||||
private static TextView msgTV;
|
private static TextView msgTV;
|
||||||
|
|
||||||
|
@ -49,14 +61,33 @@ public class ClientActivity extends AppCompatActivity {
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_client);
|
setContentView(R.layout.activity_client);
|
||||||
actionBar = getSupportActionBar();
|
Toolbar toolbar = findViewById(R.id.toolBar_client);
|
||||||
assert actionBar != null;
|
setSupportActionBar(toolbar);
|
||||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
if (getSupportActionBar() != null){
|
||||||
actionBar.setTitle("机器人控制");
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
getSupportActionBar().setDisplayShowHomeEnabled(true);
|
||||||
|
}
|
||||||
|
Drawable overflowIcon = ContextCompat.getDrawable(this, R.drawable.baseline_more_vert_24);
|
||||||
|
if (overflowIcon != null) {
|
||||||
|
toolbar.setOverflowIcon(overflowIcon);
|
||||||
|
}
|
||||||
initView();
|
initView();
|
||||||
setListener();
|
setListener();
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
|
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||||
|
if (item.getItemId() == android.R.id.home){
|
||||||
|
onBackPressed();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return super.onOptionsItemSelected(item);
|
||||||
|
}
|
||||||
private void initView() {
|
private void initView() {
|
||||||
ipET = (EditText) findViewById(R.id.ipET);
|
ipET = (EditText) findViewById(R.id.ipET);
|
||||||
msgET = (EditText) findViewById(R.id.msgET);
|
msgET = (EditText) findViewById(R.id.msgET);
|
||||||
|
@ -64,6 +95,9 @@ public class ClientActivity extends AppCompatActivity {
|
||||||
confirmBtn = findViewById(R.id.btn_confirm);
|
confirmBtn = findViewById(R.id.btn_confirm);
|
||||||
msgTV = (TextView) findViewById(R.id.msgTV);
|
msgTV = (TextView) findViewById(R.id.msgTV);
|
||||||
startRobot = (ImageView) findViewById(R.id.start_robot_iv);
|
startRobot = (ImageView) findViewById(R.id.start_robot_iv);
|
||||||
|
imageView4 = (ImageView) findViewById(R.id.imageView4);
|
||||||
|
iv_charge = (ImageView) findViewById(R.id.iv_charge);
|
||||||
|
iv_stop_robot = (ImageView) findViewById(R.id.iv_stop_robot);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setListener() {
|
private void setListener() {
|
||||||
|
@ -92,13 +126,45 @@ public class ClientActivity extends AppCompatActivity {
|
||||||
startRobot.setOnClickListener(new View.OnClickListener() {
|
startRobot.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
byte start = 0x00;
|
byte start = MSG_CMD.START_ROBOT;
|
||||||
if(!UPbotComm.getInstance().getConnectStatus()) {
|
if(!UPbotComm.getInstance().getConnectStatus()) {
|
||||||
Toast.makeText(ClientActivity.this, "连接失败无法启动", Toast.LENGTH_SHORT).show();
|
Toast.makeText(ClientActivity.this, "连接失败无法启动", Toast.LENGTH_SHORT).show();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
byte[] result = SendMsg.sendCmdMsg(start);
|
sendCmdMsg(start,"正在启动机器人");
|
||||||
UPbotComm.getInstance().sendMessage(result);
|
}
|
||||||
|
});
|
||||||
|
imageView4.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
byte value = MSG_CMD.START_COVER_SERVICE;
|
||||||
|
if(!UPbotComm.getInstance().getConnectStatus()) {
|
||||||
|
Toast.makeText(ClientActivity.this, "连接失败无法覆盖", Toast.LENGTH_SHORT).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sendCmdMsg(value,"正则启动全覆盖割草");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
iv_charge.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
byte value = MSG_CMD.CHARGING;
|
||||||
|
if(!UPbotComm.getInstance().getConnectStatus()) {
|
||||||
|
Toast.makeText(ClientActivity.this, "连接失败无法充电", Toast.LENGTH_SHORT).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sendCmdMsg(value,"正在返回充电");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
iv_stop_robot.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
byte value = MSG_CMD.STOP_MOWING;
|
||||||
|
if(!UPbotComm.getInstance().getConnectStatus()) {
|
||||||
|
Toast.makeText(ClientActivity.this, "连接失败无法停止", Toast.LENGTH_SHORT).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sendCmdMsg(value,"正在停止机器人");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -106,4 +172,10 @@ public class ClientActivity extends AppCompatActivity {
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendCmdMsg(byte cmd,String toast){
|
||||||
|
byte[] result = SendMsg.sendCmdMsg(cmd);
|
||||||
|
UPbotComm.getInstance().sendMessage(result);
|
||||||
|
Toast.makeText(ClientActivity.this, toast, Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.example.upbot;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.appcompat.widget.Toolbar;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuItem;
|
||||||
|
|
||||||
|
public class EditActivity extends AppCompatActivity {
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_edit);
|
||||||
|
Toolbar toolbar = findViewById(R.id.toolBar_edit);
|
||||||
|
setSupportActionBar(toolbar);
|
||||||
|
if (getSupportActionBar() != null){
|
||||||
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
getSupportActionBar().setDisplayShowHomeEnabled(true);
|
||||||
|
}
|
||||||
|
Drawable overflowIcon = ContextCompat.getDrawable(this, R.drawable.baseline_more_vert_24);
|
||||||
|
if (overflowIcon != null) {
|
||||||
|
toolbar.setOverflowIcon(overflowIcon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
|
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||||
|
if (item.getItemId() == android.R.id.home){
|
||||||
|
onBackPressed();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return super.onOptionsItemSelected(item);
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,6 +2,7 @@ package com.example.upbot;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
@ -13,6 +14,8 @@ import android.widget.Toast;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.ActionBar;
|
import androidx.appcompat.app.ActionBar;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.appcompat.widget.Toolbar;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import com.amap.api.location.AMapLocation;
|
import com.amap.api.location.AMapLocation;
|
||||||
import com.amap.api.location.AMapLocationClient;
|
import com.amap.api.location.AMapLocationClient;
|
||||||
|
@ -44,16 +47,10 @@ public class MainActivity extends AppCompatActivity implements AMapLocationListe
|
||||||
//位置更改监听
|
//位置更改监听
|
||||||
private OnLocationChangedListener mListener;
|
private OnLocationChangedListener mListener;
|
||||||
|
|
||||||
private ActionBar actionBar;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
actionBar = getSupportActionBar();
|
|
||||||
assert actionBar != null;
|
|
||||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
|
||||||
actionBar.setTitle("深安割草机器人");
|
|
||||||
mapView = findViewById(R.id.map_view);
|
mapView = findViewById(R.id.map_view);
|
||||||
mapView.onCreate(savedInstanceState);
|
mapView.onCreate(savedInstanceState);
|
||||||
initLocation();
|
initLocation();
|
||||||
|
@ -84,28 +81,30 @@ public class MainActivity extends AppCompatActivity implements AMapLocationListe
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
findViewById(R.id.robot_start).setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
Intent intent=new Intent(MainActivity.this,RobotActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
findViewById(R.id.tv_setting_main).setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
Intent intent=new Intent(MainActivity.this,EditActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
findViewById(R.id.iv_three_main).setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
onBackPressed();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
|
||||||
getMenuInflater().inflate(R.menu.menu_main, menu);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
|
||||||
if (item.getItemId() == android.R.id.home){
|
|
||||||
Toast.makeText(this,"返回上一页",Toast.LENGTH_LONG).show();
|
|
||||||
finish();
|
|
||||||
}else if (item.getItemId() == R.id.action_more){
|
|
||||||
Toast.makeText(this,"更多设置",Toast.LENGTH_LONG).show();
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
public void activate(OnLocationChangedListener onLocationChangedListener) {
|
public void activate(OnLocationChangedListener onLocationChangedListener) {
|
||||||
mListener = onLocationChangedListener;
|
mListener = onLocationChangedListener;
|
||||||
if (mLocationClient != null) {
|
if (mLocationClient != null) {
|
||||||
|
|
|
@ -0,0 +1,163 @@
|
||||||
|
package com.example.upbot;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.appcompat.widget.Toolbar;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuItem;
|
||||||
|
import android.widget.ImageButton;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
public class RobotActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
private ImageButton btn_quiet, btn_standard, btn_strong, btn_super, btn_water_less, btn_water_medium, btn_water_high;
|
||||||
|
private TextView tv_show_power, tv_show_water,tv_quiet, tv_standard, tv_strong, tv_super, tv_water_less, tv_water_medium, tv_water_high;
|
||||||
|
int i = -1, j = -1;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_robot);
|
||||||
|
|
||||||
|
Toolbar toolbar = findViewById(R.id.toolBar_robot);
|
||||||
|
setSupportActionBar(toolbar);
|
||||||
|
if (getSupportActionBar() != null){
|
||||||
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
getSupportActionBar().setDisplayShowHomeEnabled(true);
|
||||||
|
}
|
||||||
|
Drawable overflowIcon = ContextCompat.getDrawable(this, R.drawable.baseline_more_vert_24);
|
||||||
|
if (overflowIcon != null) {
|
||||||
|
toolbar.setOverflowIcon(overflowIcon);
|
||||||
|
}
|
||||||
|
initViews();
|
||||||
|
setListeners();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
|
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initViews() {
|
||||||
|
btn_quiet = findViewById(R.id.btn_quiet);
|
||||||
|
btn_standard = findViewById(R.id.btn_standard);
|
||||||
|
btn_strong = findViewById(R.id.btn_strong);
|
||||||
|
btn_super = findViewById(R.id.btn_super);
|
||||||
|
btn_water_less = findViewById(R.id.btn_water_less);
|
||||||
|
btn_water_medium = findViewById(R.id.btn_water_medium);
|
||||||
|
btn_water_high = findViewById(R.id.btn_water_high);
|
||||||
|
tv_show_power = findViewById(R.id.tv_show_power);
|
||||||
|
tv_show_water = findViewById(R.id.tv_show_water);
|
||||||
|
tv_quiet = findViewById(R.id.tv_quiet);
|
||||||
|
tv_standard = findViewById(R.id.tv_standard);
|
||||||
|
tv_strong = findViewById(R.id.tv_strong);
|
||||||
|
tv_super = findViewById(R.id.tv_super);
|
||||||
|
tv_water_less = findViewById(R.id.tv_water_less);
|
||||||
|
tv_water_medium = findViewById(R.id.tv_water_medium);
|
||||||
|
tv_water_high = findViewById(R.id.tv_water_high);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setListeners() {
|
||||||
|
btn_quiet.setOnClickListener(view -> {
|
||||||
|
i = 0;
|
||||||
|
check();
|
||||||
|
});
|
||||||
|
btn_standard.setOnClickListener(view -> {
|
||||||
|
i = 1;
|
||||||
|
check();
|
||||||
|
});
|
||||||
|
btn_strong.setOnClickListener(view -> {
|
||||||
|
i = 2;
|
||||||
|
check();
|
||||||
|
});
|
||||||
|
btn_super.setOnClickListener(view -> {
|
||||||
|
i = 3;
|
||||||
|
check();
|
||||||
|
});
|
||||||
|
btn_water_less.setOnClickListener(view -> {
|
||||||
|
j = 0;
|
||||||
|
check();
|
||||||
|
});
|
||||||
|
btn_water_medium.setOnClickListener(view -> {
|
||||||
|
j = 1;
|
||||||
|
check();
|
||||||
|
});
|
||||||
|
btn_water_high.setOnClickListener(view -> {
|
||||||
|
j = 2;
|
||||||
|
check();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void check() {
|
||||||
|
if (i == 0){
|
||||||
|
btn_quiet.setBackground(getDrawable(R.drawable.iv_quiet_pressed));
|
||||||
|
tv_quiet.setTextColor(getColor(R.color.text_blue));
|
||||||
|
tv_show_power.setText("安静");
|
||||||
|
}else {
|
||||||
|
btn_quiet.setBackground(getDrawable(R.drawable.iv_quiet));
|
||||||
|
tv_quiet.setTextColor(getColor(R.color.text_color));
|
||||||
|
}
|
||||||
|
if (i == 1){
|
||||||
|
btn_standard.setBackground(getDrawable(R.drawable.iv_biaozhun_pressed));
|
||||||
|
tv_standard.setTextColor(getColor(R.color.text_blue));
|
||||||
|
tv_show_power.setText("标准");
|
||||||
|
}else {
|
||||||
|
btn_standard.setBackground(getDrawable(R.drawable.iv_biaozhun));
|
||||||
|
tv_standard.setTextColor(getColor(R.color.text_color));
|
||||||
|
}
|
||||||
|
if (i == 2){
|
||||||
|
btn_strong.setBackground(getDrawable(R.drawable.iv_strong_pressed));
|
||||||
|
tv_strong.setTextColor(getColor(R.color.text_blue));
|
||||||
|
tv_show_power.setText("强力");
|
||||||
|
}else {
|
||||||
|
btn_strong.setBackground(getDrawable(R.drawable.iv_strong));
|
||||||
|
tv_strong.setTextColor(getColor(R.color.text_color));
|
||||||
|
}
|
||||||
|
if (i == 3){
|
||||||
|
btn_super.setBackground(getDrawable(R.drawable.iv_super_pressed));
|
||||||
|
tv_super.setTextColor(getColor(R.color.text_blue));
|
||||||
|
tv_show_power.setText("超强");
|
||||||
|
}else {
|
||||||
|
btn_super.setBackground(getDrawable(R.drawable.iv_super));
|
||||||
|
tv_super.setTextColor(getColor(R.color.text_color));
|
||||||
|
}
|
||||||
|
if (j == 0){
|
||||||
|
btn_water_less.setBackground(getDrawable(R.drawable.iv_short_pressed));
|
||||||
|
tv_water_less.setTextColor(getColor(R.color.text_blue));
|
||||||
|
tv_show_water.setText("低");
|
||||||
|
}else {
|
||||||
|
btn_water_less.setBackground(getDrawable(R.drawable.iv_short));
|
||||||
|
tv_water_less.setTextColor(getColor(R.color.text_color));
|
||||||
|
}
|
||||||
|
if (j == 1){
|
||||||
|
btn_water_medium.setBackground(getDrawable(R.drawable.iv_medium_pressed));
|
||||||
|
tv_water_medium.setTextColor(getColor(R.color.text_blue));
|
||||||
|
tv_show_water.setText("中");
|
||||||
|
}else {
|
||||||
|
btn_water_medium.setBackground(getDrawable(R.drawable.iv_medium));
|
||||||
|
tv_water_medium.setTextColor(getColor(R.color.text_color));
|
||||||
|
}
|
||||||
|
if (j == 2){
|
||||||
|
btn_water_high.setBackground(getDrawable(R.drawable.iv_high_pressed));
|
||||||
|
tv_water_high.setTextColor(getColor(R.color.text_blue));
|
||||||
|
tv_show_water.setText("高");
|
||||||
|
}else {
|
||||||
|
btn_water_high.setBackground(getDrawable(R.drawable.iv_high));
|
||||||
|
tv_water_high.setTextColor(getColor(R.color.text_color));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||||
|
if (item.getItemId() == android.R.id.home){
|
||||||
|
onBackPressed();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return super.onOptionsItemSelected(item);
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,10 +12,10 @@ public class SendMsg {
|
||||||
public static byte[] sendCmdMsg(byte value){
|
public static byte[] sendCmdMsg(byte value){
|
||||||
Head head = new Head();
|
Head head = new Head();
|
||||||
head.setMsg_id(MsgId.MSG_CMD);
|
head.setMsg_id(MsgId.MSG_CMD);
|
||||||
head.setLength((byte) 0x01);
|
head.setLength((byte) 0x02);
|
||||||
byte[] temp = new byte[]{head.getFlag(), head.getMsg_id(), head.getLength(), value};
|
byte[] result = new byte[]{head.getFlag(), head.getMsg_id(), head.getLength(), value,0x00};
|
||||||
long checkSum = getCRC32Checksum(temp);
|
calculateAndSetChecksum(result);
|
||||||
return new byte[]{head.getFlag(), head.getMsg_id(), head.getLength(),value, (byte) checkSum};
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static byte[] sendMapCorrectMsg(float x_offset, float y_offset, float rotation){
|
public static byte[] sendMapCorrectMsg(float x_offset, float y_offset, float rotation){
|
||||||
|
@ -24,19 +24,17 @@ public class SendMsg {
|
||||||
byte[] x_bytes = getBytes(x_offset);
|
byte[] x_bytes = getBytes(x_offset);
|
||||||
byte[] y_bytes = getBytes(y_offset);
|
byte[] y_bytes = getBytes(y_offset);
|
||||||
byte[] rotation_bytes = getBytes(rotation);
|
byte[] rotation_bytes = getBytes(rotation);
|
||||||
int length = x_bytes.length+y_bytes.length+rotation_bytes.length;
|
int length = x_bytes.length+y_bytes.length+rotation_bytes.length+1;
|
||||||
head.setLength((byte) length);
|
head.setLength((byte) length);
|
||||||
byte[] temp = new byte[3+length];
|
|
||||||
temp[0] = head.getFlag();
|
|
||||||
temp[1] = head.getMsg_id();
|
|
||||||
temp[2] = head.getLength();
|
|
||||||
System.arraycopy(x_bytes, 0, temp, 3, x_bytes.length);
|
|
||||||
System.arraycopy(y_bytes, 0, temp, 3+x_bytes.length, y_bytes.length);
|
|
||||||
System.arraycopy(rotation_bytes, 0, temp, 3+x_bytes.length+y_bytes.length, rotation_bytes.length);
|
|
||||||
long checkSum = getCRC32Checksum(temp);
|
|
||||||
byte[] result = new byte[4+length];
|
byte[] result = new byte[4+length];
|
||||||
System.arraycopy(temp, 0, result, 0, temp.length);
|
result[0] = head.getFlag();
|
||||||
result[3+length] = (byte) checkSum;
|
result[1] = head.getMsg_id();
|
||||||
|
result[2] = head.getLength();
|
||||||
|
System.arraycopy(x_bytes, 0, result, 3, x_bytes.length);
|
||||||
|
System.arraycopy(y_bytes, 0, result, 3+x_bytes.length, y_bytes.length);
|
||||||
|
System.arraycopy(rotation_bytes, 0, result, 3+x_bytes.length+y_bytes.length, rotation_bytes.length);
|
||||||
|
result[result.length-1] = 0x00;
|
||||||
|
calculateAndSetChecksum(result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,9 +42,9 @@ public class SendMsg {
|
||||||
Head head = new Head();
|
Head head = new Head();
|
||||||
head.setMsg_id(MsgId.MSG_CONF);
|
head.setMsg_id(MsgId.MSG_CONF);
|
||||||
head.setLength((byte) 0x01);
|
head.setLength((byte) 0x01);
|
||||||
byte[] temp = new byte[]{head.getFlag(), head.getMsg_id(), head.getLength(), charge};
|
byte[] result = new byte[]{head.getFlag(), head.getMsg_id(), head.getLength(), charge,0x00};
|
||||||
long checkSum = getCRC32Checksum(temp);
|
calculateAndSetChecksum(result);
|
||||||
return new byte[]{head.getFlag(), head.getMsg_id(), head.getLength(),charge, (byte) checkSum};
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static byte[] sendFrequencyMsg(float frequency){
|
public static byte[] sendFrequencyMsg(float frequency){
|
||||||
|
@ -54,15 +52,13 @@ public class SendMsg {
|
||||||
head.setMsg_id(MsgId.MSG_CONF);
|
head.setMsg_id(MsgId.MSG_CONF);
|
||||||
head.setLength((byte) 0x01);
|
head.setLength((byte) 0x01);
|
||||||
byte[] frequency_byte = getBytes(frequency);
|
byte[] frequency_byte = getBytes(frequency);
|
||||||
byte[] temp = new byte[frequency_byte.length+3];
|
|
||||||
temp[0] = head.getFlag();
|
|
||||||
temp[1] = head.getMsg_id();
|
|
||||||
temp[2] = head.getLength();
|
|
||||||
System.arraycopy(frequency_byte, 0, temp, 3, frequency_byte.length);
|
|
||||||
long checkSum = getCRC32Checksum(temp);
|
|
||||||
byte[] result = new byte[frequency_byte.length+4];
|
byte[] result = new byte[frequency_byte.length+4];
|
||||||
System.arraycopy(temp, 0, result, 0, temp.length);
|
result[0] = head.getFlag();
|
||||||
result[frequency_byte.length+3] = (byte) checkSum;
|
result[1] = head.getMsg_id();
|
||||||
|
result[2] = head.getLength();
|
||||||
|
System.arraycopy(frequency_byte, 0, result, 3, frequency_byte.length);
|
||||||
|
result[result.length-1] = 0x00;
|
||||||
|
calculateAndSetChecksum(result);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,32 +73,33 @@ public class SendMsg {
|
||||||
y_bytes[i] = getBytes(y_offset[i]);
|
y_bytes[i] = getBytes(y_offset[i]);
|
||||||
z_bytes[i] = getBytes(z_offset[i]);
|
z_bytes[i] = getBytes(z_offset[i]);
|
||||||
}
|
}
|
||||||
int totalLength = (x_bytes.length)*4+(y_bytes.length)*4+(z_bytes.length)*4;
|
int totalLength = (x_bytes.length)*4+(y_bytes.length)*4+(z_bytes.length)*4+1;
|
||||||
head.setLength((byte) totalLength);
|
head.setLength((byte) totalLength);
|
||||||
int l = 3 + totalLength;
|
int l = 4 + totalLength;
|
||||||
byte[] temp = new byte[l];
|
byte[] result = new byte[l];
|
||||||
temp[0] = head.getFlag();
|
result[0] = head.getFlag();
|
||||||
temp[1] = head.getMsg_id();
|
result[1] = head.getMsg_id();
|
||||||
temp[2] = head.getLength();
|
result[2] = head.getLength();
|
||||||
for (int i = 0; i < base_num ; i++){
|
for (int i = 0; i < base_num ; i++){
|
||||||
System.arraycopy(x_bytes[i], 0, temp, 3+4*i, x_bytes[i].length);
|
System.arraycopy(x_bytes[i], 0, result, 3+4*i, x_bytes[i].length);
|
||||||
}
|
}
|
||||||
for (int i = 0; i < base_num; i++){
|
for (int i = 0; i < base_num; i++){
|
||||||
System.arraycopy(y_bytes[i], 0, temp, (x_bytes.length)*4+3+4*i, y_bytes.length);
|
System.arraycopy(y_bytes[i], 0, result, (x_bytes.length)*4+3+4*i, y_bytes.length);
|
||||||
}
|
}
|
||||||
for (int i = 0; i < base_num; i++){
|
for (int i = 0; i < base_num; i++){
|
||||||
System.arraycopy(z_bytes[i], 0, temp, (x_bytes.length)*4+(y_bytes.length)*4+3+4*i, y_bytes.length);
|
System.arraycopy(z_bytes[i], 0, result, (x_bytes.length)*4+(y_bytes.length)*4+3+4*i, y_bytes.length);
|
||||||
}
|
}
|
||||||
long checkSum = getCRC32Checksum(temp);
|
result[result.length-1] = 0x00;
|
||||||
byte[] result = new byte[4+totalLength];
|
calculateAndSetChecksum(result);
|
||||||
System.arraycopy(temp, 0, result, 0, temp.length);
|
|
||||||
result[l] = (byte) checkSum;
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
public static long getCRC32Checksum(byte[] bytes) {
|
public static void calculateAndSetChecksum(byte[] bytes) {
|
||||||
Checksum crc32 = new CRC32();
|
int sum = 0;
|
||||||
crc32.update(bytes, 0, bytes.length);
|
for (int i = 0; i < bytes.length - 1; i++) {
|
||||||
return crc32.getValue();
|
sum += bytes[i] & 0xFF; // 将字节转换为无符号值
|
||||||
|
}
|
||||||
|
byte checksum = (byte) (sum & 0xFF); // 取结果的低 8 位
|
||||||
|
bytes[bytes.length - 1] = checksum; // 将校验和写入最后一位
|
||||||
}
|
}
|
||||||
|
|
||||||
public static byte[] getBytes(float data)
|
public static byte[] getBytes(float data)
|
||||||
|
|
|
@ -42,7 +42,7 @@ public class SplashActivity extends AppCompatActivity {
|
||||||
//隐藏状态栏
|
//隐藏状态栏
|
||||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
//隐藏标题栏
|
//隐藏标题栏
|
||||||
getSupportActionBar().hide();
|
// getSupportActionBar().hide();
|
||||||
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||||
| View.SYSTEM_UI_FLAG_FULLSCREEN);
|
| View.SYSTEM_UI_FLAG_FULLSCREEN);
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import static com.example.upbot.ClientActivity.handler;
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.DataOutputStream;
|
import java.io.DataOutputStream;
|
||||||
|
@ -44,7 +45,7 @@ public class UPbotComm {
|
||||||
try {
|
try {
|
||||||
//指定ip地址和端口号
|
//指定ip地址和端口号
|
||||||
Log.d("UPBOTCOMM", ip);
|
Log.d("UPBOTCOMM", ip);
|
||||||
mSocket = new Socket(ip, 1989);
|
mSocket = new Socket(ip, 19890);
|
||||||
|
|
||||||
if(mSocket != null){
|
if(mSocket != null){
|
||||||
status = true;
|
status = true;
|
||||||
|
@ -89,7 +90,7 @@ public class UPbotComm {
|
||||||
}.start();
|
}.start();
|
||||||
}
|
}
|
||||||
public void sendMessage(final byte[] msg) {
|
public void sendMessage(final byte[] msg) {
|
||||||
if (msg.length == 0 || !status){
|
if (msg == null || msg.length == 0 || !status) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
new Thread() {
|
new Thread() {
|
||||||
|
@ -97,7 +98,7 @@ public class UPbotComm {
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
DataOutputStream writer = new DataOutputStream(mSocket.getOutputStream());
|
DataOutputStream writer = new DataOutputStream(mSocket.getOutputStream());
|
||||||
writer.writeUTF(Arrays.toString(msg)); // 写一个UTF-8的信息
|
writer.write(msg);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 72 KiB |
Binary file not shown.
After Width: | Height: | Size: 4.5 KiB |
|
@ -0,0 +1,5 @@
|
||||||
|
<vector android:autoMirrored="true" android:height="24dp"
|
||||||
|
android:tint="#FFFFFF" android:viewportHeight="24"
|
||||||
|
android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="@android:color/white" android:pathData="M11.67,3.87L9.9,2.1 0,12l9.9,9.9 1.77,-1.77L3.54,12z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<vector android:autoMirrored="true" android:height="24dp"
|
||||||
|
android:tint="#F5F1F1" android:viewportHeight="24"
|
||||||
|
android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="@android:color/white" android:pathData="M6.23,20.23l1.77,1.77l10,-10l-10,-10l-1.77,1.77l8.23,8.23z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<vector android:autoMirrored="true" android:height="24dp"
|
||||||
|
android:tint="#000000" android:viewportHeight="24"
|
||||||
|
android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="@android:color/white" android:pathData="M20,2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM18,14L6,14v-2h12v2zM18,11L6,11L6,9h12v2zM18,8L6,8L6,6h12v2z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="@android:color/white" android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<vector android:height="24dp" android:tint="#000000"
|
||||||
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="@android:color/white" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<!-- res/drawable/circle.xml -->
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="oval">
|
||||||
|
<size
|
||||||
|
android:width="100dp"
|
||||||
|
android:height="100dp" />
|
||||||
|
<solid android:color="#3C3A3A" /> <!-- 圆形的填充颜色 -->
|
||||||
|
</shape>
|
Binary file not shown.
After Width: | Height: | Size: 8.1 KiB |
|
@ -0,0 +1,5 @@
|
||||||
|
<vector android:height="20dp" android:viewportHeight="1024"
|
||||||
|
android:viewportWidth="1024" android:width="20dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="#dbdbdb" android:pathData="M249.3,497.7v29.7c0,14.8 11.8,26.6 26.6,26.6h692.2c14.8,0 26.6,-11.8 26.6,-26.6v-29.7c0,-14.8 -11.8,-26.6 -26.6,-26.6H276c-14.8,0.5 -26.6,12.3 -26.6,26.6z"/>
|
||||||
|
<path android:fillColor="#dbdbdb" android:pathData="M146.9,530.9c-10.2,-10.2 -10.2,-27.1 0,-37.4l369.7,-368.6c10.2,-10.2 10.2,-27.1 0,-37.4l-21.5,-21.5c-10.2,-10.2 -27.1,-10.2 -37.4,0L42.5,479.7c8.2,-7.7 18.9,-12.3 30.7,-12.3 -24.6,0 -44.5,20 -44.5,44.5s20,44.5 44.5,44.5c-12.3,0 -23,-4.6 -31.2,-12.8l414.2,414.2c10.2,10.2 27.1,10.2 37.4,0l21.5,-21.5c10.2,-10.2 10.2,-27.1 0,-37.4l-368.1,-368.1z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M928,249.6l-10.7,17.1 10.7,-17.1s0,-2.1 0,0l-8.5,-4.3c-4.3,-2.1 -10.7,-6.4 -21.3,-10.7 -17.1,-8.5 -44.8,-19.2 -78.9,-29.9 -70.4,-21.3 -172.8,-44.8 -309.3,-44.8 -119.5,0 -198.4,17.1 -262.4,36.3h-2.1v2.1c-10.7,2.1 -19.2,6.4 -27.7,8.5 -32,10.7 -61.9,21.3 -83.2,27.7 -10.7,4.3 -19.2,6.4 -25.6,8.5 -2.1,2.1 -6.4,2.1 -6.4,2.1h-2.1c-8.5,4.3 -14.9,12.8 -14.9,21.3v488.5c0,8.5 4.3,17.1 12.8,19.2h2.1c2.1,0 4.3,2.1 6.4,2.1 6.4,2.1 14.9,6.4 25.6,10.7 21.3,8.5 51.2,19.2 83.2,29.9 68.3,21.3 151.5,44.8 294.4,44.8 136.5,0 238.9,-21.3 309.3,-44.8 34.1,-10.7 61.9,-21.3 78.9,-29.9 8.5,-4.3 14.9,-8.5 21.3,-10.7 2.1,-2.1 4.3,-2.1 6.4,-2.1h2.1l-10.7,-17.1 10.7,19.2c6.4,-4.3 10.7,-10.7 10.7,-19.2v-490.7c0,-6.4 -4.3,-12.8 -10.7,-17.1zM98.1,776.5s0,-2.1 4.3,-10.7l-4.3,10.7zM230.4,778.7c-32,-10.7 -61.9,-21.3 -83.2,-27.7 -8.5,-2.1 -14.9,-6.4 -21.3,-8.5L125.9,281.6c6.4,-2.1 12.8,-4.3 21.3,-6.4 21.3,-8.5 51.2,-17.1 81.1,-27.7h2.1c-2.1,10.7 -4.3,21.3 -8.5,34.1 -10.7,55.5 -21.3,132.3 -21.3,230.4 0,87.5 10.7,164.3 21.3,217.6 4.3,19.2 8.5,36.3 10.7,49.1h-2.1zM753.1,725.3c-6.4,25.6 -12.8,46.9 -17.1,61.9 -2.1,4.3 -2.1,8.5 -4.3,10.7 -57.6,12.8 -132.3,21.3 -219.7,21.3 -102.4,0 -172.8,-12.8 -228.3,-27.7 0,-2.1 -2.1,-6.4 -2.1,-10.7 -4.3,-14.9 -8.5,-36.3 -14.9,-61.9 -10.7,-53.3 -21.3,-125.9 -21.3,-209.1 0,-93.9 10.7,-170.7 21.3,-221.9 4.3,-25.6 10.7,-44.8 12.8,-57.6 57.6,-14.9 128,-29.9 232.5,-29.9 87.5,0 160,8.5 219.7,21.3 0,2.1 2.1,6.4 4.3,8.5 4.3,12.8 10.7,34.1 17.1,59.7 12.8,51.2 25.6,128 25.6,221.9 0,85.3 -12.8,160 -25.6,213.3zM896,744.5l-12.8,6.4c-17.1,8.5 -40.5,17.1 -74.7,27.7 -8.5,2.1 -19.2,6.4 -27.7,8.5 4.3,-14.9 8.5,-32 14.9,-51.2 12.8,-55.5 27.7,-132.3 27.7,-219.7 0,-98.1 -12.8,-177.1 -27.7,-232.5 -4.3,-19.2 -8.5,-34.1 -12.8,-46.9 10.7,2.1 19.2,6.4 27.7,8.5 32,10.7 57.6,21.3 74.7,27.7 6.4,2.1 10.7,4.3 12.8,6.4v465.1z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M928,249.6l-10.7,17.1 10.7,-17.1s0,-2.1 0,0l-8.5,-4.3c-4.3,-2.1 -10.7,-6.4 -21.3,-10.7 -17.1,-8.5 -44.8,-19.2 -78.9,-29.9 -70.4,-21.3 -172.8,-44.8 -309.3,-44.8 -119.5,0 -198.4,17.1 -262.4,36.3h-2.1v2.1c-10.7,2.1 -19.2,6.4 -27.7,8.5 -32,10.7 -61.9,21.3 -83.2,27.7 -10.7,4.3 -19.2,6.4 -25.6,8.5 -2.1,2.1 -6.4,2.1 -6.4,2.1h-2.1c-8.5,4.3 -14.9,12.8 -14.9,21.3v488.5c0,8.5 4.3,17.1 12.8,19.2h2.1c2.1,0 4.3,2.1 6.4,2.1 6.4,2.1 14.9,6.4 25.6,10.7 21.3,8.5 51.2,19.2 83.2,29.9 68.3,21.3 151.5,44.8 294.4,44.8 136.5,0 238.9,-21.3 309.3,-44.8 34.1,-10.7 61.9,-21.3 78.9,-29.9 8.5,-4.3 14.9,-8.5 21.3,-10.7 2.1,-2.1 4.3,-2.1 6.4,-2.1h2.1l-10.7,-17.1 10.7,19.2c6.4,-4.3 10.7,-10.7 10.7,-19.2v-490.7c0,-6.4 -4.3,-12.8 -10.7,-17.1zM98.1,776.5s0,-2.1 4.3,-10.7l-4.3,10.7zM230.4,778.7c-32,-10.7 -61.9,-21.3 -83.2,-27.7 -8.5,-2.1 -14.9,-6.4 -21.3,-8.5L125.9,281.6c6.4,-2.1 12.8,-4.3 21.3,-6.4 21.3,-8.5 51.2,-17.1 81.1,-27.7h2.1c-2.1,10.7 -4.3,21.3 -8.5,34.1 -10.7,55.5 -21.3,132.3 -21.3,230.4 0,87.5 10.7,164.3 21.3,217.6 4.3,19.2 8.5,36.3 10.7,49.1h-2.1zM753.1,725.3c-6.4,25.6 -12.8,46.9 -17.1,61.9 -2.1,4.3 -2.1,8.5 -4.3,10.7 -57.6,12.8 -132.3,21.3 -219.7,21.3 -102.4,0 -172.8,-12.8 -228.3,-27.7 0,-2.1 -2.1,-6.4 -2.1,-10.7 -4.3,-14.9 -8.5,-36.3 -14.9,-61.9 -10.7,-53.3 -21.3,-125.9 -21.3,-209.1 0,-93.9 10.7,-170.7 21.3,-221.9 4.3,-25.6 10.7,-44.8 12.8,-57.6 57.6,-14.9 128,-29.9 232.5,-29.9 87.5,0 160,8.5 219.7,21.3 0,2.1 2.1,6.4 4.3,8.5 4.3,12.8 10.7,34.1 17.1,59.7 12.8,51.2 25.6,128 25.6,221.9 0,85.3 -12.8,160 -25.6,213.3zM896,744.5l-12.8,6.4c-17.1,8.5 -40.5,17.1 -74.7,27.7 -8.5,2.1 -19.2,6.4 -27.7,8.5 4.3,-14.9 8.5,-32 14.9,-51.2 12.8,-55.5 27.7,-132.3 27.7,-219.7 0,-98.1 -12.8,-177.1 -27.7,-232.5 -4.3,-19.2 -8.5,-34.1 -12.8,-46.9 10.7,2.1 19.2,6.4 27.7,8.5 32,10.7 57.6,21.3 74.7,27.7 6.4,2.1 10.7,4.3 12.8,6.4v465.1z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M512,1024a512,512 0,1 1,512 -512,512 512,0 0,1 -512,512zM823.4,442.6a14.7,14.7 0,0 0,-13.5 -6.3h-230.1l59.9,-286.7a11,11 0,0 0,-9.7 -12.5,11.9 11.9,0 0,0 -17.4,3.1L210.5,566.4a9.2,9.2 0,0 0,-1.9 14.2,14.6 14.6,0 0,0 13.5,6.3h261L423.1,873.2c-2.6,6.3 0.7,10.4 9.7,12.5a9.3,9.3 0,0 0,5.7 1.6,20.9 20.9,0 0,0 13.5,-4.7l371.2,-426a26.4,26.4 0,0 0,0.1 -14z"
|
||||||
|
android:fillColor="#7AC97D"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M718.9,239.3c24.2,17.2 45.7,36.7 64.5,58.5s35,45.3 48.4,70.6c13.4,25.3 23.7,52 30.6,80.3 7,28.2 10.5,56.9 10.5,85.9 0,50 -9.5,96.9 -28.6,140.8 -19.1,43.8 -44.9,82 -77.4,114.6s-70.7,58.4 -114.6,77.4C608.5,886.5 561.6,896 511.6,896c-49.5,0 -96.1,-9.5 -140,-28.6 -43.8,-19.1 -82.2,-44.9 -115,-77.4s-58.6,-70.7 -77.4,-114.6 -28.2,-90.8 -28.2,-140.8c0,-28.5 3.4,-56.5 10.1,-83.9 6.7,-27.4 16.3,-53.5 28.6,-78.2 12.4,-24.7 27.7,-47.9 46,-69.4 18.3,-21.5 38.7,-40.9 61.3,-58.1 11.8,-8.6 24.6,-11.8 38.3,-9.7 13.7,2.2 24.9,8.9 33.5,20.2 8.6,11.3 11.8,23.9 9.7,37.9 -2.2,14 -8.9,25.3 -20.2,33.9C324.4,352 298.5,382.4 280.5,418.4c-18,36 -27,74.8 -27,116.2 0,35.5 6.7,69 20.2,100.4 13.4,31.5 31.9,58.9 55.3,82.3 23.4,23.4 50.8,42 82.3,55.7 31.5,13.7 64.9,20.6 100.4,20.6 35.5,0 69,-6.9 100.4,-20.6 31.5,-13.7 58.9,-32.3 82.3,-55.7 23.4,-23.4 42,-50.8 55.7,-82.3 13.7,-31.5 20.6,-64.9 20.6,-100.4 0,-42 -9.7,-81.6 -29,-119s-46.5,-68.2 -81.5,-92.4c-11.8,-8.1 -19,-19.1 -21.4,-33.1 -2.4,-14 0.4,-26.9 8.5,-38.7 8.1,-11.3 19.1,-18.2 33.1,-20.6C694.2,228.4 707.1,231.3 718.9,239.3L718.9,239.3zM511.6,537c-14,0 -25.9,-5 -35.9,-14.9 -10,-10 -14.9,-21.9 -14.9,-35.9L460.8,179.6c0,-14 5,-26.1 14.9,-36.3S497.6,128 511.6,128c14.5,0 26.8,5.1 36.7,15.3 10,10.2 14.9,22.3 14.9,36.3l0,306.6c0,14 -5,26 -14.9,35.9C538.4,532 526.1,537 511.6,537L511.6,537zM511.6,537"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M670,925.1L1016.9,925.1v98.9L0,1024v-98.9h333.9c-8.7,-20.5 -14.2,-43.8 -16.6,-69.7 -1.5,-16 -1.9,-28.1 -2.1,-54 -0.1,-15.8 -0.4,-24.6 -0.9,-30.7a404.6,404.6 0,0 1,-94.5 -68.8,402.4 402.4,0 0,1 -121.4,-288.5C98.3,190.5 278.9,9.9 501.8,9.9c222.9,0 403.5,180.6 403.5,403.5 0,108.7 -43.2,210.6 -118.7,285.8a404.6,404.6 0,0 1,-96 70.9c-0.6,6.2 -0.9,15 -1.2,31.2 -0.4,26.1 -0.8,38.1 -2.4,54 -2.6,26 -8.2,49.4 -17,69.9zM501.8,921c63.3,0 81.3,-20.3 86.8,-75.6 1.2,-12.3 1.6,-22.3 1.9,-45.7 0.4,-27 1,-38.1 3.3,-51.8 4.7,-27 15.9,-48.3 40.6,-60.3a305.5,305.5 0,0 0,82.3 -58.5,303.5 303.5,0 0,0 89.6,-215.8c0,-168.2 -136.4,-304.6 -304.6,-304.6 -168.2,0 -304.6,136.4 -304.6,304.6a303.5,303.5 0,0 0,91.7 217.8,305.4 305.4,0 0,0 81.6,57.1c25,11.9 36.2,33.4 40.7,60.6 2.3,13.6 2.7,24.5 3,51.6 0.2,23.1 0.5,33.3 1.7,45.6 5.2,54.9 23,74.9 86.1,74.9z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M378,569V259.7h70.3v121.8h105.9v-121.8h70.3v309.3h-70.3V433.8h-105.9v135.2z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M670,925.1L1016.9,925.1v98.9L0,1024v-98.9h333.9c-8.7,-20.5 -14.2,-43.8 -16.6,-69.7 -1.5,-16 -1.9,-28.1 -2.1,-54 -0.1,-15.8 -0.4,-24.6 -0.9,-30.7a404.6,404.6 0,0 1,-94.5 -68.8,402.4 402.4,0 0,1 -121.4,-288.5C98.3,190.5 278.9,9.9 501.8,9.9c222.9,0 403.5,180.6 403.5,403.5 0,108.7 -43.2,210.6 -118.7,285.8a404.6,404.6 0,0 1,-96 70.9c-0.6,6.2 -0.9,15 -1.2,31.2 -0.4,26.1 -0.8,38.1 -2.4,54 -2.6,26 -8.2,49.4 -17,69.9zM501.8,921c63.3,0 81.3,-20.3 86.8,-75.6 1.2,-12.3 1.6,-22.3 1.9,-45.7 0.4,-27 1,-38.1 3.3,-51.8 4.7,-27 15.9,-48.3 40.6,-60.3a305.5,305.5 0,0 0,82.3 -58.5,303.5 303.5,0 0,0 89.6,-215.8c0,-168.2 -136.4,-304.6 -304.6,-304.6 -168.2,0 -304.6,136.4 -304.6,304.6a303.5,303.5 0,0 0,91.7 217.8,305.4 305.4,0 0,0 81.6,57.1c25,11.9 36.2,33.4 40.7,60.6 2.3,13.6 2.7,24.5 3,51.6 0.2,23.1 0.5,33.3 1.7,45.6 5.2,54.9 23,74.9 86.1,74.9z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M378,569V259.7h70.3v121.8h105.9v-121.8h70.3v309.3h-70.3V433.8h-105.9v135.2z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M670.5,925.1L1016.9,925.1v98.9L0,1024v-98.9h332.9c-8.5,-20.3 -13.8,-43.4 -16.2,-68.9 -1.5,-16 -1.9,-28.2 -2.1,-54.1 -0.1,-15.9 -0.4,-24.7 -0.9,-30.8a405.5,405.5 0,0 1,-94.8 -69,403.3 403.3,0 0,1 -121.7,-289.2C97.1,189.7 278.2,8.7 501.5,8.7c223.4,0 404.4,181.1 404.4,404.4a403.2,403.2 0,0 1,-118.9 286.5,405.6 405.6,0 0,1 -96.3,71.1c-0.6,6.2 -0.9,15.1 -1.2,31.4 -0.4,26.2 -0.8,38.1 -2.4,54.1 -2.6,25.6 -8,48.8 -16.6,69.1zM501.6,922.1c63.5,0 81.6,-20.4 87.2,-75.9 1.2,-12.3 1.6,-22.4 2,-45.8 0.4,-27 1,-38.2 3.3,-51.9 4.7,-27 15.9,-48.4 40.6,-60.3a306.5,306.5 0,0 0,82.6 -58.7,304.4 304.4,0 0,0 89.9,-216.4c0,-168.8 -136.8,-305.5 -305.6,-305.5s-305.5,136.8 -305.5,305.5a304.4,304.4 0,0 0,91.9 218.5,306.4 306.4,0 0,0 81.8,57.3c25,12 36.2,33.4 40.7,60.6 2.3,13.6 2.7,24.6 3,51.7 0.2,23.2 0.5,33.4 1.7,45.7 5.2,55.1 23.1,75.2 86.4,75.2z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M346.5,569.1V259h93.7l56.3,211.5 55.6,-211.5h93.9v310.1h-58.2V325l-61.6,244.1h-60.3L404.7,325v244.1z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M670.5,925.1L1016.9,925.1v98.9L0,1024v-98.9h332.9c-8.5,-20.3 -13.8,-43.4 -16.2,-68.9 -1.5,-16 -1.9,-28.2 -2.1,-54.1 -0.1,-15.9 -0.4,-24.7 -0.9,-30.8a405.5,405.5 0,0 1,-94.8 -69,403.3 403.3,0 0,1 -121.7,-289.2C97.1,189.7 278.2,8.7 501.5,8.7c223.4,0 404.4,181.1 404.4,404.4a403.2,403.2 0,0 1,-118.9 286.5,405.6 405.6,0 0,1 -96.3,71.1c-0.6,6.2 -0.9,15.1 -1.2,31.4 -0.4,26.2 -0.8,38.1 -2.4,54.1 -2.6,25.6 -8,48.8 -16.6,69.1zM501.6,922.1c63.5,0 81.6,-20.4 87.2,-75.9 1.2,-12.3 1.6,-22.4 2,-45.8 0.4,-27 1,-38.2 3.3,-51.9 4.7,-27 15.9,-48.4 40.6,-60.3a306.5,306.5 0,0 0,82.6 -58.7,304.4 304.4,0 0,0 89.9,-216.4c0,-168.8 -136.8,-305.5 -305.6,-305.5s-305.5,136.8 -305.5,305.5a304.4,304.4 0,0 0,91.9 218.5,306.4 306.4,0 0,0 81.8,57.3c25,12 36.2,33.4 40.7,60.6 2.3,13.6 2.7,24.6 3,51.7 0.2,23.2 0.5,33.4 1.7,45.7 5.2,55.1 23.1,75.2 86.4,75.2z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M346.5,569.1V259h93.7l56.3,211.5 55.6,-211.5h93.9v310.1h-58.2V325l-61.6,244.1h-60.3L404.7,325v244.1z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,18 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M84,96.6m170.7,0l59.7,0q170.7,0 170.7,170.7l0,59.7q0,170.7 -170.7,170.7l-59.7,0q-170.7,0 -170.7,-170.7l0,-59.7q0,-170.7 170.7,-170.7Z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M538.6,96.6m170.7,0l59.7,0q170.7,0 170.7,170.7l0,59.7q0,170.7 -170.7,170.7l-59.7,0q-170.7,0 -170.7,-170.7l0,-59.7q0,-170.7 170.7,-170.7Z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M84,555m170.7,0l59.7,0q170.7,0 170.7,170.7l0,59.7q0,170.7 -170.7,170.7l-59.7,0q-170.7,0 -170.7,-170.7l0,-59.7q0,-170.7 170.7,-170.7Z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M890.5,688.5h-302.8a34.1,34.1 0,0 1,0 -68.3h302.8a34.1,34.1 0,1 1,0 68.3zM890.5,891.2h-302.8a34.1,34.1 0,0 1,0 -68.3h302.8a34.1,34.1 0,1 1,0 68.3z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<vector android:height="200dp" android:viewportHeight="1024"
|
||||||
|
android:viewportWidth="1024" android:width="200dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="#bfbfbf" android:pathData="M513,928.2c-56,0 -110.4,-10.9 -161.5,-32.2 -49.4,-20.6 -93.8,-50.2 -131.9,-87.9s-68,-81.5 -88.9,-130.3C109,627.2 98,573.5 98,518.1v-12.1c0,-55.3 11,-109.1 32.6,-159.6 20.9,-48.8 50.8,-92.7 88.9,-130.3 38.1,-37.7 82.5,-67.2 131.9,-87.9 51.2,-21.4 105.5,-32.2 161.6,-32.2 56,0 110.4,10.9 161.5,32.2 49.4,20.7 93.8,50.2 131.9,87.9 38.1,37.7 68,81.5 88.9,130.3 21.6,50.6 32.6,104.3 32.6,159.6v12.1c0,55.3 -11,109.1 -32.6,159.6 -20.9,48.8 -50.8,92.7 -88.9,130.3s-82.5,67.2 -131.9,87.9c-51.2,21.4 -105.5,32.2 -161.6,32.2zM513,137c-205.9,0 -373.5,165.6 -373.5,369.1v12.1c0,203.5 167.6,369.1 373.5,369.1s373.5,-165.6 373.5,-369.1v-12.1c0,-203.5 -167.6,-369.1 -373.5,-369.1z"/>
|
||||||
|
<path android:fillColor="#bfbfbf" android:pathData="M527.5,308.8c-6.9,171 71.8,202.1 190,193.3 18,105.9 -61.1,204 -175.6,217.6 -112.6,14.6 -215.8,-64.9 -230.4,-177.5 -0.7,-5.4 -1.2,-10.9 -1.5,-16.3 -8.1,-121.4 85.9,-216.7 217.4,-217.1zM462.4,379.1c-72,39.1 -102.1,95 -90.7,160 11.9,63 62.3,111.7 125.7,121.3 67.5,8.8 122.4,-23.4 152.9,-93 -103.7,-18.6 -167,-80.2 -187.9,-188.3z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M513,928.2c-56,0 -110.4,-10.9 -161.5,-32.2 -49.4,-20.6 -93.8,-50.2 -131.9,-87.9s-68,-81.5 -88.9,-130.3C109,627.2 98,573.5 98,518.1v-12.1c0,-55.3 11,-109.1 32.6,-159.6 20.9,-48.8 50.8,-92.7 88.9,-130.3 38.1,-37.7 82.5,-67.2 131.9,-87.9 51.2,-21.4 105.5,-32.2 161.6,-32.2 56,0 110.4,10.9 161.5,32.2 49.4,20.7 93.8,50.2 131.9,87.9 38.1,37.7 68,81.5 88.9,130.3 21.6,50.6 32.6,104.3 32.6,159.6v12.1c0,55.3 -11,109.1 -32.6,159.6 -20.9,48.8 -50.8,92.7 -88.9,130.3s-82.5,67.2 -131.9,87.9c-51.2,21.4 -105.5,32.2 -161.6,32.2zM513,137c-205.9,0 -373.5,165.6 -373.5,369.1v12.1c0,203.5 167.6,369.1 373.5,369.1s373.5,-165.6 373.5,-369.1v-12.1c0,-203.5 -167.6,-369.1 -373.5,-369.1z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M527.5,308.8c-6.9,171 71.8,202.1 190,193.3 18,105.9 -61.1,204 -175.6,217.6 -112.6,14.6 -215.8,-64.9 -230.4,-177.5 -0.7,-5.4 -1.2,-10.9 -1.5,-16.3 -8.1,-121.4 85.9,-216.7 217.4,-217.1zM462.4,379.1c-72,39.1 -102.1,95 -90.7,160 11.9,63 62.3,111.7 125.7,121.3 67.5,8.8 122.4,-23.4 152.9,-93 -103.7,-18.6 -167,-80.2 -187.9,-188.3z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M670.5,925.1h347.4v98.9h-1016.9v-98.9h332c-8.5,-20.3 -13.8,-43.4 -16.2,-68.9 -1.5,-16 -1.9,-28.2 -2.1,-54.1 -0.1,-15.9 -0.4,-24.7 -0.9,-30.8a405.5,405.5 0,0 1,-94.8 -69,403.3 403.3,0 0,1 -121.7,-289.2C97.1,189.7 278.2,8.7 501.5,8.7c223.4,0 404.4,181.1 404.4,404.4a403.2,403.2 0,0 1,-118.9 286.5,405.6 405.6,0 0,1 -96.3,71.1c-0.6,6.2 -0.9,15.1 -1.2,31.4 -0.4,26.2 -0.8,38.1 -2.4,54.1 -2.6,25.6 -8,48.8 -16.6,69.1zM501.6,922.1c63.5,0 81.6,-20.4 87.2,-75.9 1.2,-12.3 1.6,-22.4 2,-45.8 0.4,-27 1,-38.2 3.3,-51.9 4.7,-27 15.9,-48.4 40.6,-60.3a306.5,306.5 0,0 0,82.6 -58.7,304.4 304.4,0 0,0 89.9,-216.4c0,-168.8 -136.8,-305.5 -305.6,-305.5s-305.5,136.8 -305.5,305.5a304.4,304.4 0,0 0,91.9 218.5,306.4 306.4,0 0,0 81.8,57.3c25,12 36.2,33.4 40.7,60.6 2.3,13.6 2.7,24.6 3,51.7 0.2,23.2 0.5,33.4 1.7,45.7 5.2,55.1 23.1,75.2 86.4,75.2z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M353.1,471.4l69.7,-6.8c4.2,23.4 12.7,40.6 25.5,51.6 12.8,11 30.1,16.5 51.9,16.5 23.1,0 40.5,-4.9 52.2,-14.6 11.7,-9.8 17.6,-21.2 17.6,-34.3 0,-8.4 -2.5,-15.5 -7.4,-21.4 -4.9,-5.9 -13.5,-11 -25.8,-15.4 -8.4,-2.9 -27.5,-8.1 -57.4,-15.5 -38.4,-9.5 -65.4,-21.2 -80.9,-35.1 -21.8,-19.5 -32.7,-43.3 -32.7,-71.4 0,-18.1 5.1,-35 15.4,-50.7 10.2,-15.7 25,-27.7 44.3,-36C444.9,230.1 468.2,226 495.4,226c44.5,0 78.1,9.8 100.6,29.3 22.5,19.5 34.3,45.6 35.5,78.2l-71.7,3.1c-3.1,-18.2 -9.6,-31.4 -19.7,-39.3 -10.1,-8 -25.2,-12 -45.4,-12 -20.8,0 -37.1,4.3 -48.9,12.8 -7.6,5.5 -11.4,12.8 -11.4,22 0,8.4 3.5,15.6 10.6,21.5 9,7.6 31,15.5 65.8,23.7s60.6,16.8 77.3,25.5c16.7,8.8 29.8,20.8 39.2,36.1 9.4,15.3 14.2,34.1 14.2,56.5 0,20.3 -5.6,39.4 -16.9,57.1 -11.3,17.8 -27.3,30.9 -47.9,39.6 -20.7,8.6 -46.4,13 -77.2,13 -44.9,0 -79.3,-10.4 -103.4,-31.1 -24.1,-20.7 -38.4,-51 -43.1,-90.7z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M670.5,925.1h347.4v98.9h-1016.9v-98.9h332c-8.5,-20.3 -13.8,-43.4 -16.2,-68.9 -1.5,-16 -1.9,-28.2 -2.1,-54.1 -0.1,-15.9 -0.4,-24.7 -0.9,-30.8a405.5,405.5 0,0 1,-94.8 -69,403.3 403.3,0 0,1 -121.7,-289.2C97.1,189.7 278.2,8.7 501.5,8.7c223.4,0 404.4,181.1 404.4,404.4a403.2,403.2 0,0 1,-118.9 286.5,405.6 405.6,0 0,1 -96.3,71.1c-0.6,6.2 -0.9,15.1 -1.2,31.4 -0.4,26.2 -0.8,38.1 -2.4,54.1 -2.6,25.6 -8,48.8 -16.6,69.1zM501.6,922.1c63.5,0 81.6,-20.4 87.2,-75.9 1.2,-12.3 1.6,-22.4 2,-45.8 0.4,-27 1,-38.2 3.3,-51.9 4.7,-27 15.9,-48.4 40.6,-60.3a306.5,306.5 0,0 0,82.6 -58.7,304.4 304.4,0 0,0 89.9,-216.4c0,-168.8 -136.8,-305.5 -305.6,-305.5s-305.5,136.8 -305.5,305.5a304.4,304.4 0,0 0,91.9 218.5,306.4 306.4,0 0,0 81.8,57.3c25,12 36.2,33.4 40.7,60.6 2.3,13.6 2.7,24.6 3,51.7 0.2,23.2 0.5,33.4 1.7,45.7 5.2,55.1 23.1,75.2 86.4,75.2z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M353.1,471.4l69.7,-6.8c4.2,23.4 12.7,40.6 25.5,51.6 12.8,11 30.1,16.5 51.9,16.5 23.1,0 40.5,-4.9 52.2,-14.6 11.7,-9.8 17.6,-21.2 17.6,-34.3 0,-8.4 -2.5,-15.5 -7.4,-21.4 -4.9,-5.9 -13.5,-11 -25.8,-15.4 -8.4,-2.9 -27.5,-8.1 -57.4,-15.5 -38.4,-9.5 -65.4,-21.2 -80.9,-35.1 -21.8,-19.5 -32.7,-43.3 -32.7,-71.4 0,-18.1 5.1,-35 15.4,-50.7 10.2,-15.7 25,-27.7 44.3,-36C444.9,230.1 468.2,226 495.4,226c44.5,0 78.1,9.8 100.6,29.3 22.5,19.5 34.3,45.6 35.5,78.2l-71.7,3.1c-3.1,-18.2 -9.6,-31.4 -19.7,-39.3 -10.1,-8 -25.2,-12 -45.4,-12 -20.8,0 -37.1,4.3 -48.9,12.8 -7.6,5.5 -11.4,12.8 -11.4,22 0,8.4 3.5,15.6 10.6,21.5 9,7.6 31,15.5 65.8,23.7s60.6,16.8 77.3,25.5c16.7,8.8 29.8,20.8 39.2,36.1 9.4,15.3 14.2,34.1 14.2,56.5 0,20.3 -5.6,39.4 -16.9,57.1 -11.3,17.8 -27.3,30.9 -47.9,39.6 -20.7,8.6 -46.4,13 -77.2,13 -44.9,0 -79.3,-10.4 -103.4,-31.1 -24.1,-20.7 -38.4,-51 -43.1,-90.7z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M547.8,535.4c-4.4,-41.5 -59.2,-46.1 -69.1,-5.9 -3.7,50.1 64.5,57 69.1,5.9z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M559.6,220.3l29.5,-14.8 29.5,-12 30.8,-7.2 32.4,-2.9C619.2,69.8 469.2,46.8 374,136.2c-46,37.2 -68.8,101.4 -69.2,159.1 0.5,103.1 63.2,157.1 145.8,210.8l-4.4,11.6 -1.5,13.3 -28,3.1h-27.9l-27.9,-4.6c-66.1,-13.8 -122.2,-69.7 -132.8,-137l-5.9,-31 -1.5,-32.3 3,-32.5 5.9,-30.8C101.8,292.8 35,425.5 89.6,544.3c30,61.6 66.9,92.7 131.1,114.9 91.1,31.9 176.6,-13.5 244.6,-73.6l10.3,8.9 10.3,4.4 -4.4,28 -8.8,26.4 -13.3,25.1c-32.9,59.6 -104,92.8 -170.9,83.9l-31,-4.2 -30.8,-7.4 -29.5,-13.3 -28,-16.2c-18.8,128.1 94.6,237.3 220.8,219.6 55.1,-2 120.3,-43 150.4,-88.5 59.5,-82.8 40.5,-165.8 5.9,-256.3l10.3,-7.4 8.9,-8.9 23.6,14.8 22.2,16.2 20.5,19.2c44.6,51.1 58.1,126.9 28,188.4l-14.8,29.5 -17.6,26.5 -20.7,24.9 -23.4,20.8c117.1,54.4 251.6,-13.6 276.9,-141.4 13.6,-56 -1.9,-126.1 -38.4,-170.9 -60.8,-82.2 -143.7,-91.3 -241.5,-85.6l-2.9,-11.8 -5.9,-10.1 20.5,-19.2 22.3,-16.2 25.1,-13.3c65.8,-26.9 136,-16.4 188.4,32.3l22,22.3 20.7,24.9 16.2,28 13.3,28c89.4,-91.8 62.9,-246.7 -50.2,-306.5 -51.5,-35.2 -115.7,-33.2 -173.8,-17.5 -95.2,36.1 -131.6,107.3 -154.7,204.5h-11.8l-13.1,1.7 -12,-25.1 -7.3,-26.6 -5.9,-28c-4.3,-69.3 27.4,-134.2 88.4,-169.3z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M547.8,535.4c-4.4,-41.5 -59.2,-46.1 -69.1,-5.9 -3.7,50.1 64.5,57 69.1,5.9z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M559.6,220.3l29.5,-14.8 29.5,-12 30.8,-7.2 32.4,-2.9C619.2,69.8 469.2,46.8 374,136.2c-46,37.2 -68.8,101.4 -69.2,159.1 0.5,103.1 63.2,157.1 145.8,210.8l-4.4,11.6 -1.5,13.3 -28,3.1h-27.9l-27.9,-4.6c-66.1,-13.8 -122.2,-69.7 -132.8,-137l-5.9,-31 -1.5,-32.3 3,-32.5 5.9,-30.8C101.8,292.8 35,425.5 89.6,544.3c30,61.6 66.9,92.7 131.1,114.9 91.1,31.9 176.6,-13.5 244.6,-73.6l10.3,8.9 10.3,4.4 -4.4,28 -8.8,26.4 -13.3,25.1c-32.9,59.6 -104,92.8 -170.9,83.9l-31,-4.2 -30.8,-7.4 -29.5,-13.3 -28,-16.2c-18.8,128.1 94.6,237.3 220.8,219.6 55.1,-2 120.3,-43 150.4,-88.5 59.5,-82.8 40.5,-165.8 5.9,-256.3l10.3,-7.4 8.9,-8.9 23.6,14.8 22.2,16.2 20.5,19.2c44.6,51.1 58.1,126.9 28,188.4l-14.8,29.5 -17.6,26.5 -20.7,24.9 -23.4,20.8c117.1,54.4 251.6,-13.6 276.9,-141.4 13.6,-56 -1.9,-126.1 -38.4,-170.9 -60.8,-82.2 -143.7,-91.3 -241.5,-85.6l-2.9,-11.8 -5.9,-10.1 20.5,-19.2 22.3,-16.2 25.1,-13.3c65.8,-26.9 136,-16.4 188.4,32.3l22,22.3 20.7,24.9 16.2,28 13.3,28c89.4,-91.8 62.9,-246.7 -50.2,-306.5 -51.5,-35.2 -115.7,-33.2 -173.8,-17.5 -95.2,36.1 -131.6,107.3 -154.7,204.5h-11.8l-13.1,1.7 -12,-25.1 -7.3,-26.6 -5.9,-28c-4.3,-69.3 27.4,-134.2 88.4,-169.3z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="215.2dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1102"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M557.5,693.1a204.7,204.7 0,0 0,192.9 -111A176.4,176.4 0,0 0,708.7 375a211,211 0,0 0,-218.1 -44.1,188.2 188.2,0 0,0 -127.6,174 179.5,179.5 0,0 0,55.1 131.5,207.1 207.1,0 0,0 139.4,56.7zM351.2,891.5a559.9,559.9 0,0 1,-114.2 -78.7,405.5 405.5,0 0,1 -148,-218.1A433.1,433.1 0,0 1,72.4 472.6c0,-262.2 244.1,-472.5 544.9,-472.5A557.5,557.5 0,0 1,1102.4 259.2a507.9,507.9 0,0 0,-341 -126.8h-10.2a559.9,559.9 0,0 1,115 74.8,405.5 405.5,0 0,1 148,222.1 433.1,433.1 0,0 1,15.7 122c0,262.2 -244.1,472.5 -544.9,472.5A557.5,557.5 0,0 1,0 764.8a507.9,507.9 0,0 0,341 126.8z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="215.2dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1102"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M557.5,693.1a204.7,204.7 0,0 0,192.9 -111A176.4,176.4 0,0 0,708.7 375a211,211 0,0 0,-218.1 -44.1,188.2 188.2,0 0,0 -127.6,174 179.5,179.5 0,0 0,55.1 131.5,207.1 207.1,0 0,0 139.4,56.7zM351.2,891.5a559.9,559.9 0,0 1,-114.2 -78.7,405.5 405.5,0 0,1 -148,-218.1A433.1,433.1 0,0 1,72.4 472.6c0,-262.2 244.1,-472.5 544.9,-472.5A557.5,557.5 0,0 1,1102.4 259.2a507.9,507.9 0,0 0,-341 -126.8h-10.2a559.9,559.9 0,0 1,115 74.8,405.5 405.5,0 0,1 148,222.1 433.1,433.1 0,0 1,15.7 122c0,262.2 -244.1,472.5 -544.9,472.5A557.5,557.5 0,0 1,0 764.8a507.9,507.9 0,0 0,341 126.8z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,15 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M512,512m-486.3,0a486.3,486.3 0,1 0,972.6 0,486.3 486.3,0 1,0 -972.6,0Z"
|
||||||
|
android:fillColor="#4E6070"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M471.3,163.6c0,-22.5 18.2,-40.7 40.7,-40.7s40.7,18.2 40.7,40.7v146.5c0,22.5 -18.2,40.7 -40.7,40.7s-40.7,-18.2 -40.7,-40.7V163.6z"
|
||||||
|
android:fillColor="#00CCC6"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M732.1,731.7c-58.8,58.8 -137,91.2 -220.1,91.2 -171.7,0 -311.3,-139.7 -311.3,-311.3 0,-103.6 51.3,-200.1 137.2,-258.1 18.6,-12.6 43.9,-7.7 56.5,10.9 12.6,18.6 7.7,43.9 -10.9,56.5 -63.5,42.9 -101.4,114.2 -101.4,190.7 0,126.8 103.1,229.9 229.9,229.9 61.4,0 119.2,-23.9 162.6,-67.4 43.4,-43.4 67.3,-101.1 67.3,-162.6 0,-76.5 -37.9,-147.8 -101.4,-190.7 -18.6,-12.6 -23.5,-37.9 -11,-56.5a40.7,40.7 0,0 1,56.5 -11c86,58 137.3,154.5 137.3,258.1 -0,83.2 -32.4,161.4 -91.2,220.1z"
|
||||||
|
android:fillColor="#00CCC6"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,15 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="20dp"
|
||||||
|
android:height="20dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M0,795.2l1022.6,0 0,113.6 -1022.6,0 0,-113.6Z"
|
||||||
|
android:fillColor="#cdcdcd"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M0,454.4l1022.6,0 0,113.6 -1022.6,0 0,-113.6Z"
|
||||||
|
android:fillColor="#cdcdcd"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M0,113.5l1022.6,0 0,113.6 -1022.6,0 0,-113.6Z"
|
||||||
|
android:fillColor="#cdcdcd"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M483.2,166.4c-39,45 -71.9,93.1 -108,144 -27,39 -54.1,78 -75,114 -50.9,83.9 -77.9,155.9 -77.9,203.9 0,162 129,293.9 288,293.9 158.9,0 288,-132 288,-293.9 0,-48 -27,-119.9 -78,-206.9 -21,-36 -45,-75 -75,-114 -33,-48 -69,-96 -108,-144 -9,-11.9 -18.1,-21 -27,-33l-27.1,36zM162.3,628.3c0,-63 30,-141 86.9,-236.9 21,-39 48,-78 78,-119.9 36,-50.9 71.9,-99 110.9,-146.9 15.1,-18.1 30,-39 48,-57l3,-3 24,-27 24,27 3,3c3,3 6,6 9,11.9C561.1,91.5 573.2,106.6 585.2,124.6c39,48 75,96 110.9,146.9 30,41.9 54.1,80.9 78,119.9 57,96 86.9,174 86.9,236.9 -6,198 -158.9,356.9 -350.9,356.9 -194.8,0.1 -347.9,-158.8 -347.9,-356.9zM162.3,628.3"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M510.3,877.3c-135,0 -243,-108 -243,-243s122,-317.2 185.2,-322.6c57.8,-4.9 36.7,104.5 134.4,70.9 90.2,-31.1 166.4,153.6 166.4,251.7 -3,135.1 -111,243 -243,243zM510.3,877.3"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M483.2,166.4c-39,45 -71.9,93.1 -108,144 -27,39 -54.1,78 -75,114 -50.9,83.9 -77.9,155.9 -77.9,203.9 0,162 129,293.9 288,293.9 158.9,0 288,-132 288,-293.9 0,-48 -27,-119.9 -78,-206.9 -21,-36 -45,-75 -75,-114 -33,-48 -69,-96 -108,-144 -9,-11.9 -18.1,-21 -27,-33l-27.1,36zM162.3,628.3c0,-63 30,-141 86.9,-236.9 21,-39 48,-78 78,-119.9 36,-50.9 71.9,-99 110.9,-146.9 15.1,-18.1 30,-39 48,-57l3,-3 24,-27 24,27 3,3c3,3 6,6 9,11.9C561.1,91.5 573.2,106.6 585.2,124.6c39,48 75,96 110.9,146.9 30,41.9 54.1,80.9 78,119.9 57,96 86.9,174 86.9,236.9 -6,198 -158.9,356.9 -350.9,356.9 -194.8,0.1 -347.9,-158.8 -347.9,-356.9zM162.3,628.3"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M510.3,877.3c-135,0 -243,-108 -243,-243s122,-317.2 185.2,-322.6c57.8,-4.9 36.7,104.5 134.4,70.9 90.2,-31.1 166.4,153.6 166.4,251.7 -3,135.1 -111,243 -243,243zM510.3,877.3"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M505.9,918c-177.7,0 -322.6,-144.9 -322.6,-322.6 0,-220.2 225.3,-423.9 293.9,-480.8 16.4,-13.8 40.4,-13.8 56.8,0 69.1,57.3 293.9,260.6 293.9,480.8 0.5,178.2 -143.9,322.6 -322,322.6zM505.9,162.3c-57.3,48.6 -267.8,240.1 -267.8,433.7 0,148 120.3,267.8 267.8,267.8s267.8,-120.3 267.8,-267.8c0.5,-194 -210.4,-385.5 -267.8,-433.7z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M453.6,800.8c-2.6,0 -5.6,-0.5 -8.2,-1 -79.9,-25.6 -139.8,-92.2 -156.7,-174.1 -3.1,-14.8 6.7,-29.2 21,-32.3 14.8,-3.1 29.2,6.7 32.3,21 12.8,62.5 58.9,113.7 119.8,132.6 14.3,4.6 22.5,20 17.9,34.3 -4.1,11.8 -14.8,19.5 -26.1,19.5z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M505.9,918c-177.7,0 -322.6,-144.9 -322.6,-322.6 0,-220.2 225.3,-423.9 293.9,-480.8 16.4,-13.8 40.4,-13.8 56.8,0 69.1,57.3 293.9,260.6 293.9,480.8 0.5,178.2 -143.9,322.6 -322,322.6zM505.9,162.3c-57.3,48.6 -267.8,240.1 -267.8,433.7 0,148 120.3,267.8 267.8,267.8s267.8,-120.3 267.8,-267.8c0.5,-194 -210.4,-385.5 -267.8,-433.7z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M453.6,800.8c-2.6,0 -5.6,-0.5 -8.2,-1 -79.9,-25.6 -139.8,-92.2 -156.7,-174.1 -3.1,-14.8 6.7,-29.2 21,-32.3 14.8,-3.1 29.2,6.7 32.3,21 12.8,62.5 58.9,113.7 119.8,132.6 14.3,4.6 22.5,20 17.9,34.3 -4.1,11.8 -14.8,19.5 -26.1,19.5z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M514.6,204.8C481.8,245.8 450,287.7 419.8,330.2c-24.6,34.8 -46.6,68.6 -65,100.9 -44.5,76.3 -69.1,139.3 -69.1,181.8 0,143.4 113.2,259.1 252.4,259.1 139.3,0 252.4,-115.7 252.4,-259.1 0,-42.5 -24.6,-105.5 -69.1,-181.8 -18.9,-32.3 -41,-66 -65,-100.9C624.6,287.7 592.9,245.8 560.1,204.8c-7.7,-9.2 -14.8,-18.4 -22.5,-27.6 -7.2,8.7 -14.8,17.9 -23,27.6zM231.4,612.9c0,-54.8 27.6,-124.9 76.8,-208.9 19.5,-33.3 42.5,-68.6 67.6,-104.4 30.7,-44 63,-86.5 96.8,-128.5 13.3,-16.4 27.1,-33.3 41,-49.2l3.1,-3.6 20,-23 20,23 3.1,3.6c2.6,3.1 5.6,6.7 9.2,10.8 9.7,11.3 20.5,24.6 31.7,38.9 33.8,41.5 66,84.5 96.8,128.5 25.1,35.8 48.1,71.2 67.6,104.4 49.2,84 76.8,154.1 76.8,208.9 0,172.5 -136.7,312.8 -305.7,312.8 -167.9,-0.5 -304.6,-140.8 -304.6,-313.3z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M537.1,832.5c-117.8,0 -213,-95.7 -213.5,-214 0,-134.1 114.7,-157.7 217.6,-68.1 102.9,58.4 208.9,-50.2 208.9,68.1 0.5,118.3 -94.7,214 -213,214z"
|
||||||
|
android:fillColor="#bfbfbf"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="200dp"
|
||||||
|
android:height="200dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M514.6,204.8C481.8,245.8 450,287.7 419.8,330.2c-24.6,34.8 -46.6,68.6 -65,100.9 -44.5,76.3 -69.1,139.3 -69.1,181.8 0,143.4 113.2,259.1 252.4,259.1 139.3,0 252.4,-115.7 252.4,-259.1 0,-42.5 -24.6,-105.5 -69.1,-181.8 -18.9,-32.3 -41,-66 -65,-100.9C624.6,287.7 592.9,245.8 560.1,204.8c-7.7,-9.2 -14.8,-18.4 -22.5,-27.6 -7.2,8.7 -14.8,17.9 -23,27.6zM231.4,612.9c0,-54.8 27.6,-124.9 76.8,-208.9 19.5,-33.3 42.5,-68.6 67.6,-104.4 30.7,-44 63,-86.5 96.8,-128.5 13.3,-16.4 27.1,-33.3 41,-49.2l3.1,-3.6 20,-23 20,23 3.1,3.6c2.6,3.1 5.6,6.7 9.2,10.8 9.7,11.3 20.5,24.6 31.7,38.9 33.8,41.5 66,84.5 96.8,128.5 25.1,35.8 48.1,71.2 67.6,104.4 49.2,84 76.8,154.1 76.8,208.9 0,172.5 -136.7,312.8 -305.7,312.8 -167.9,-0.5 -304.6,-140.8 -304.6,-313.3z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
<path
|
||||||
|
android:pathData="M537.1,832.5c-117.8,0 -213,-95.7 -213.5,-214 0,-134.1 114.7,-157.7 217.6,-68.1 102.9,58.4 208.9,-50.2 208.9,68.1 0.5,118.3 -94.7,214 -213,214z"
|
||||||
|
android:fillColor="#1296db"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:color="#FFBEBEBE"> <!-- 涟漪的颜色 -->
|
||||||
|
<item>
|
||||||
|
<shape>
|
||||||
|
<solid android:color="#FFFFFF"/> <!-- 背景颜色 -->
|
||||||
|
<corners android:radius="8dp"/> <!-- 圆角的半径 -->
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</ripple>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="#3C3A3A"/> <!-- 背景颜色 -->
|
||||||
|
<corners android:radius="8dp"/> <!-- 圆角的半径 -->
|
||||||
|
</shape>
|
|
@ -9,6 +9,15 @@
|
||||||
android:background="#F0F0F0"
|
android:background="#F0F0F0"
|
||||||
tools:context=".ClientActivity">
|
tools:context=".ClientActivity">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.Toolbar
|
||||||
|
android:id="@+id/toolBar_client"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
android:background="@color/toolbar_color"
|
||||||
|
app:navigationIcon="@drawable/iv_back"
|
||||||
|
app:title="机器人控制"
|
||||||
|
app:titleMarginStart="80dp"
|
||||||
|
app:titleTextColor="@color/white"/>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="150dp"
|
android:layout_height="150dp"
|
||||||
|
@ -34,7 +43,7 @@
|
||||||
android:textColor="#1E1E1E"
|
android:textColor="#1E1E1E"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/imageView5" />
|
app:layout_constraintTop_toBottomOf="@+id/start_robot_iv" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/textView12"
|
android:id="@+id/textView12"
|
||||||
|
@ -48,6 +57,7 @@
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/start_robot_iv"
|
android:id="@+id/start_robot_iv"
|
||||||
|
android:background="@drawable/robot_start"
|
||||||
android:layout_width="67dp"
|
android:layout_width="67dp"
|
||||||
android:layout_height="63dp"
|
android:layout_height="63dp"
|
||||||
android:layout_marginStart="12dp"
|
android:layout_marginStart="12dp"
|
||||||
|
@ -112,7 +122,7 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:background="@drawable/rounded_corner_bg"
|
android:background="@drawable/rounded_corner_bg"
|
||||||
android:layout_marginRight="10dp"
|
android:layout_marginEnd="10dp"
|
||||||
>
|
>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -121,7 +131,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="12dp"
|
android:layout_marginStart="12dp"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:text="返回充电"
|
android:text="@string/back_charging"
|
||||||
android:textColor="#1E1E1E"
|
android:textColor="#1E1E1E"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
@ -132,7 +142,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="15dp"
|
android:layout_marginTop="15dp"
|
||||||
android:text="上次充电: 一周前"
|
android:text="@string/last_charging"
|
||||||
app:layout_constraintStart_toStartOf="@+id/tv_charge"
|
app:layout_constraintStart_toStartOf="@+id/tv_charge"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/tv_charge" />
|
app:layout_constraintTop_toBottomOf="@+id/tv_charge" />
|
||||||
|
|
||||||
|
@ -155,14 +165,14 @@
|
||||||
>
|
>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_lawn_patrol"
|
android:id="@+id/iv_stop_robot"
|
||||||
android:layout_width="80dp"
|
android:layout_width="80dp"
|
||||||
android:layout_height="63dp"
|
android:layout_height="63dp"
|
||||||
android:layout_marginStart="10dp"
|
android:layout_marginStart="10dp"
|
||||||
android:layout_marginTop="7dp"
|
android:layout_marginTop="7dp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:srcCompat="@drawable/robot_patrol" />
|
app:srcCompat="@drawable/iv_finish" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_lawn_patrol"
|
android:id="@+id/tv_lawn_patrol"
|
||||||
|
@ -170,48 +180,139 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="20dp"
|
android:layout_marginStart="20dp"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:text="草坪巡逻"
|
android:text="@string/finish"
|
||||||
android:textColor="#1E1E1E"
|
android:textColor="#1E1E1E"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/iv_lawn_patrol" />
|
app:layout_constraintTop_toBottomOf="@+id/iv_stop_robot" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_lawn_patrol_date"
|
android:id="@+id/tv_lawn_patrol_date"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="15dp"
|
android:layout_marginTop="15dp"
|
||||||
android:text="上次巡逻: 1天前"
|
android:text="@string/turn_off"
|
||||||
app:layout_constraintStart_toStartOf="@+id/tv_lawn_patrol"
|
app:layout_constraintStart_toStartOf="@+id/tv_lawn_patrol"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/tv_lawn_patrol" />
|
app:layout_constraintTop_toBottomOf="@+id/tv_lawn_patrol" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="150dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:layout_marginStart="10dp">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:id="@+id/btn_base_init"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginRight="10dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="@drawable/ripple_effect"
|
||||||
|
android:clickable="true"> <!-- 点击效果 -->
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_base_init"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="12dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:text="基站初始化"
|
||||||
|
android:textColor="#1E1E1E"
|
||||||
|
android:textStyle="bold"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/iv_base_init" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/base_init_state_text"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:text="基站状态:未初始化"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/tv_base_init"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/tv_base_init" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_base_init"
|
||||||
|
android:layout_width="67dp"
|
||||||
|
android:layout_height="63dp"
|
||||||
|
android:layout_marginStart="12dp"
|
||||||
|
android:layout_marginTop="7dp"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:srcCompat="@drawable/base_station_init" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:id="@+id/btn_range_setting"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="@drawable/ripple_effect">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_geofencing_range"
|
||||||
|
android:layout_width="80dp"
|
||||||
|
android:layout_height="63dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="7dp"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:srcCompat="@drawable/geofencing_range" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_ranging_setting"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="20dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:text="@string/boundary_setting"
|
||||||
|
android:textColor="#1E1E1E"
|
||||||
|
android:textStyle="bold"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/iv_geofencing_range" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_geofencing_range_state"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:text="@string/weilan"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/tv_ranging_setting"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/tv_ranging_setting" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/ipET"
|
android:id="@+id/ipET"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="ip"
|
android:hint="@string/ip"
|
||||||
/>
|
/>
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/btn_confirm"
|
android:id="@+id/btn_confirm"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="连接"
|
android:text="@string/connect_server"
|
||||||
android:gravity="center" />
|
android:gravity="center" />
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/msgET"
|
android:id="@+id/msgET"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:hint="msg"/>
|
android:hint="@string/msg"/>
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/btn_send"
|
android:id="@+id/btn_send"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="send"
|
android:text="@string/send_msg"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:backgroundTint="#1E88E5"/>
|
android:backgroundTint="#1E88E5"/>
|
||||||
<TextView
|
<TextView
|
||||||
|
|
|
@ -0,0 +1,132 @@
|
||||||
|
<?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="#000000"
|
||||||
|
android:padding="16dp">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.Toolbar
|
||||||
|
android:id="@+id/toolBar_edit"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
android:background="@color/black"
|
||||||
|
app:navigationIcon="@drawable/iv_back"
|
||||||
|
app:subtitleTextColor="@color/white"
|
||||||
|
app:title="设置"
|
||||||
|
app:titleMarginStart="120dp"
|
||||||
|
app:titleTextColor="@color/white"/>
|
||||||
|
<!-- 功能设置模块 -->
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="68dp"
|
||||||
|
android:textColor="@color/text_color"
|
||||||
|
android:text="功能设置"
|
||||||
|
android:textSize="15sp"
|
||||||
|
android:paddingLeft="10dp"
|
||||||
|
android:paddingTop="32dp"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:text="地图保存模式(实验功能)"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
app:drawableEndCompat="@drawable/baseline_arrow_forward_ios_24" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:text="定时割草"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:padding="10dp"
|
||||||
|
app:drawableEndCompat="@drawable/baseline_arrow_forward_ios_24"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:text="设备设置"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:padding="10dp"
|
||||||
|
app:drawableEndCompat="@drawable/baseline_arrow_forward_ios_24"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:text="割草记录"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:padding="10dp"
|
||||||
|
app:drawableEndCompat="@drawable/baseline_arrow_forward_ios_24"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:text="耗材计时"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:padding="10dp"
|
||||||
|
app:drawableEndCompat="@drawable/baseline_arrow_forward_ios_24"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:text="遥控器"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:padding="10dp"
|
||||||
|
app:drawableEndCompat="@drawable/baseline_arrow_forward_ios_24"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:text="寻找割草机"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:padding="10dp"
|
||||||
|
app:drawableEndCompat="@drawable/baseline_arrow_forward_ios_24"/>
|
||||||
|
|
||||||
|
<!-- 地图管理模块 -->
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="68dp"
|
||||||
|
android:paddingLeft="10dp"
|
||||||
|
android:paddingTop="30dp"
|
||||||
|
android:text="地图管理"
|
||||||
|
android:textColor="@color/text_color"
|
||||||
|
android:textSize="15sp"
|
||||||
|
tools:ignore="SmallSp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:text="区域编辑"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:padding="10dp"
|
||||||
|
app:drawableEndCompat="@drawable/baseline_arrow_forward_ios_24"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:text="虚拟墙/禁区"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:padding="10dp"
|
||||||
|
app:drawableEndCompat="@drawable/baseline_arrow_forward_ios_24"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:text="重置地图"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:padding="10dp"
|
||||||
|
app:drawableEndCompat="@drawable/baseline_arrow_forward_ios_24"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
|
@ -7,7 +7,49 @@
|
||||||
android:background="#F0F0F0"
|
android:background="#F0F0F0"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
tools:context=".MainActivity">
|
tools:context=".MainActivity">
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:background="@color/toolbar_color"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_three_main"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="30dp"
|
||||||
|
android:layout_marginStart="28dp"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
android:background="@drawable/iv_three"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="@color/text_color"
|
||||||
|
android:text="深安割草机器人"
|
||||||
|
app:layout_constraintLeft_toLeftOf="parent"
|
||||||
|
app:layout_constraintRight_toRightOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_setting_main"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:text="设置"
|
||||||
|
android:textColor="@color/text_color"
|
||||||
|
android:textSize="20sp"
|
||||||
|
app:layout_constraintBaseline_toBaselineOf="@id/tv_title"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
<com.amap.api.maps.MapView
|
<com.amap.api.maps.MapView
|
||||||
android:id="@+id/map_view"
|
android:id="@+id/map_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -22,8 +64,8 @@
|
||||||
android:layout_marginEnd="10dp"
|
android:layout_marginEnd="10dp"
|
||||||
android:background="@drawable/rounded_corner_bg">
|
android:background="@drawable/rounded_corner_bg">
|
||||||
|
|
||||||
<ImageView
|
<ImageButton
|
||||||
android:id="@+id/imageView"
|
android:id="@+id/robot_start"
|
||||||
android:layout_width="180dp"
|
android:layout_width="180dp"
|
||||||
android:layout_height="160dp"
|
android:layout_height="160dp"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
|
@ -32,7 +74,7 @@
|
||||||
android:layout_marginTop="0dp"
|
android:layout_marginTop="0dp"
|
||||||
android:layout_marginEnd="10dp"
|
android:layout_marginEnd="10dp"
|
||||||
android:layout_marginBottom="0dp"
|
android:layout_marginBottom="0dp"
|
||||||
app:srcCompat="@drawable/robot_medium" />
|
android:background="@drawable/robot_medium" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/textView"
|
android:id="@+id/textView"
|
||||||
|
@ -228,7 +270,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="5dp"
|
android:layout_marginTop="5dp"
|
||||||
android:text="最后作业"
|
android:text="@string/robot_function"
|
||||||
android:textColor="#1E1E1E"
|
android:textColor="#1E1E1E"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintStart_toStartOf="@+id/imageView9"
|
app:layout_constraintStart_toStartOf="@+id/imageView9"
|
||||||
|
|
|
@ -0,0 +1,481 @@
|
||||||
|
<?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="@drawable/back"
|
||||||
|
tools:context=".MainActivity">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.Toolbar
|
||||||
|
android:id="@+id/toolBar_robot"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
android:background="@color/black"
|
||||||
|
app:navigationIcon="@drawable/iv_back"
|
||||||
|
app:subtitle="充电完成"
|
||||||
|
app:subtitleTextColor="@color/white"
|
||||||
|
app:title="小白"
|
||||||
|
app:titleMarginStart="120dp"
|
||||||
|
app:titleTextColor="@color/white"/>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:background="@drawable/rounded_corner"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:text="已割草"
|
||||||
|
android:textColor="@color/text_color"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="0"
|
||||||
|
android:textColor="@color/text_color"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="min"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:text="|"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:text="割草面积"
|
||||||
|
android:textColor="@color/text_color"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="0"
|
||||||
|
android:textColor="@color/text_color"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="m²"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:text="|"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:text="电量"
|
||||||
|
android:textColor="@color/text_color"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="100"
|
||||||
|
android:textColor="@color/text_color"
|
||||||
|
android:textSize="16sp"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="%"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:src="@drawable/iv_more"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:background="@drawable/circle"
|
||||||
|
android:layout_marginStart="360dp"
|
||||||
|
android:layout_width="40dp"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:layout_marginEnd="10dp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="100dp"
|
||||||
|
android:layout_marginTop="100dp">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_marginTop="20dp"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="79dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="@drawable/rounded_corner"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:background="@drawable/iv_charge" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="15dp"
|
||||||
|
android:text="回充"
|
||||||
|
android:textColor="@color/text_white"
|
||||||
|
android:textSize="20sp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_marginTop="20dp"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="79dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="@drawable/rounded_corner"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:background="@drawable/iv_switch" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="15dp"
|
||||||
|
android:text="开始割草"
|
||||||
|
android:textColor="@color/text_white"
|
||||||
|
android:textSize="20sp" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_height="0dp">
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:background="@drawable/rounded_corner"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="15dp"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:text="割草模式"
|
||||||
|
android:textColor="@color/text_white" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="5dp"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:text="|"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_show_power"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="5dp"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:text="待选择"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/btn_quiet"
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:background="@drawable/iv_quiet" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_quiet"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:text="安静"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/btn_standard"
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:background="@drawable/iv_biaozhun" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_standard"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:text="标准"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/btn_strong"
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:background="@drawable/iv_strong" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_strong"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:text="强力"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/btn_super"
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:background="@drawable/iv_super" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_super"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:text="超强"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:layout_marginBottom="5dp"
|
||||||
|
android:background="@drawable/rounded_corner"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="15dp"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:text="割草高度设置"
|
||||||
|
android:textColor="@color/text_white" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="5dp"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:text="|"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_show_water"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="5dp"
|
||||||
|
android:layout_marginTop="15dp"
|
||||||
|
android:text="待选择"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/btn_water_less"
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:background="@drawable/iv_short" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_water_less"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:text="低"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/btn_water_medium"
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:background="@drawable/iv_medium" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_water_medium"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:text="中"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/btn_water_high"
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:background="@drawable/iv_high" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_water_high"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:text="高"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textColor="@color/text_color" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
|
@ -1,8 +1,20 @@
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_more"
|
android:id="@+id/setting"
|
||||||
android:title="@string/more"
|
android:icon="@drawable/baseline_search_24"
|
||||||
app:showAsAction="always"
|
android:title="@string/setting">
|
||||||
android:icon="@drawable/baseline_more_24" />
|
</item>
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/msg"
|
||||||
|
android:icon="@drawable/baseline_message_24"
|
||||||
|
android:title="@string/message">
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item
|
||||||
|
android:id="@+id/about"
|
||||||
|
android:icon="@drawable/baseline_search_24"
|
||||||
|
android:title="@string/about">
|
||||||
|
</item>
|
||||||
</menu>
|
</menu>
|
||||||
|
|
|
@ -7,4 +7,9 @@
|
||||||
<color name="teal_700">#FF018786</color>
|
<color name="teal_700">#FF018786</color>
|
||||||
<color name="black">#FF000000</color>
|
<color name="black">#FF000000</color>
|
||||||
<color name="white">#FFFFFFFF</color>
|
<color name="white">#FFFFFFFF</color>
|
||||||
|
<color name="red">#FF0000</color>
|
||||||
|
<color name="text_color">#AAA6A6</color>
|
||||||
|
<color name="text_white">#DCD5D5</color>
|
||||||
|
<color name="text_blue">#1296db</color>
|
||||||
|
<color name="toolbar_color">#0E5E9E</color>
|
||||||
</resources>
|
</resources>
|
|
@ -7,4 +7,21 @@
|
||||||
<string name="shen_an_team_en">\@ShenAn Technology Co.,Ltd</string>
|
<string name="shen_an_team_en">\@ShenAn Technology Co.,Ltd</string>
|
||||||
|
|
||||||
<string name="more">more\n</string>
|
<string name="more">more\n</string>
|
||||||
|
<string name="boundary_setting">割草边界设定</string>
|
||||||
|
<string name="weilan">地理围栏:未设置</string>
|
||||||
|
<string name="back_charging">返回充电</string>
|
||||||
|
<string name="last_charging">上次充电: 一周前</string>
|
||||||
|
<string name="grass_garden">草坪巡逻</string>
|
||||||
|
<string name="last_garden">上次巡逻: 1天前</string>
|
||||||
|
<string name="connect_server">连接服务器</string>
|
||||||
|
<string name="ip">ip</string>
|
||||||
|
<string name="msg">msg</string>
|
||||||
|
<string name="send_msg">调试信息发送</string>
|
||||||
|
<string name="robot_function">机器人功能</string>
|
||||||
|
<string name="finish">结束程序</string>
|
||||||
|
<string name="turn_off">点击关闭割草机</string>
|
||||||
|
<string name="search">搜索</string>
|
||||||
|
<string name="message">消息</string>
|
||||||
|
<string name="about">关于</string>
|
||||||
|
<string name="setting">设置</string>
|
||||||
</resources>
|
</resources>
|
|
@ -1,6 +1,6 @@
|
||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<!-- Base application theme. -->
|
<!-- Base application theme. -->
|
||||||
<style name="Theme.UPBot" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
|
<style name="Theme.UPBot" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||||
<!-- Primary brand color. -->
|
<!-- Primary brand color. -->
|
||||||
<item name="colorPrimary">@color/purple_500</item>
|
<item name="colorPrimary">@color/purple_500</item>
|
||||||
<item name="colorPrimaryVariant">@color/purple_700</item>
|
<item name="colorPrimaryVariant">@color/purple_700</item>
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
package com.example.wifidemo;
|
package com.example.wifidemo;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Example local unit test, which will execute on the development machine (host).
|
* Example local unit test, which will execute on the development machine (host).
|
||||||
*
|
*
|
||||||
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||||
*/
|
*/
|
||||||
public class ExampleUnitTest {
|
public class ExampleUnitTest {
|
||||||
@Test
|
@Test
|
||||||
public void addition_isCorrect() {
|
public void addition_isCorrect() {
|
||||||
assertEquals(4, 2 + 2);
|
assertEquals(4, 2 + 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue