Compare commits

..

15 Commits

@ -1,27 +1,19 @@
package net.micode.notes.ui;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewTreeObserver;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import net.micode.notes.R;
@ -40,8 +32,6 @@ public class DrawActivity extends Activity {
// 重置按钮
private ImageButton reset_btn;
private ImageButton save_paint;
private ImageButton change_thickness;
private ImageButton change_color;
private boolean if_draw = false;
@Override
@ -70,35 +60,21 @@ public class DrawActivity extends Activity {
finish();
}
});
change_thickness = findViewById(R.id.change_thickness);
change_thickness.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
changeThickness();
}
});
change_color = findViewById(R.id.change_pen_color);
change_color.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
changeColor();
}
});
// 绘图
showImage();
}
private void showImage() {
ImageView paintMap = (ImageView) findViewById(R.id.draw);
ViewTreeObserver vto = paintMap.getViewTreeObserver();
ImageView huabu = (ImageView) findViewById(R.id.draw);
ViewTreeObserver vto = huabu.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
paintMap.getViewTreeObserver();
huabu.getViewTreeObserver().removeGlobalOnLayoutListener(this);
// 获取线性布局控件的高
int height = paintMap.getHeight();
int height = huabu.getHeight();
// 获取线性布局控件的宽
int width = paintMap.getWidth();
int width = huabu.getWidth();
//按照画布控件大小创建画布
mBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
// 创建一张画布
@ -110,7 +86,7 @@ public class DrawActivity extends Activity {
// 画笔颜色为蓝色
paint.setColor(Color.BLUE);
// 宽度5个像素
paint.setStrokeWidth(10);
paint.setStrokeWidth(5);
//接缝处圆滑
paint.setStrokeCap(Paint.Cap.ROUND);
paint.setStrokeJoin(Paint.Join.ROUND);
@ -141,8 +117,6 @@ public class DrawActivity extends Activity {
startY = (int) event.getY();
img.setImageBitmap(mBitmap);
break;
default:
break;
}
return true;
}
@ -151,95 +125,6 @@ public class DrawActivity extends Activity {
});
}
private void showSoftInput() {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (inputMethodManager != null) {
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
}
private void hideSoftInput(View view) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
public void changeThickness(){
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
//输入框控件实例化
View view = LayoutInflater.from(this).inflate(R.layout.change_thickness, null);
final EditText et_change_color = (EditText) view.findViewById(R.id.et_change_thickness);
//显示软件盘
showSoftInput();
builder.setTitle("Please enter the brush thickness (1-30)");
builder.setPositiveButton(android.R.string.ok, null);
//设置取消按钮监听
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
hideSoftInput(et_change_color);
}
});
//显示输入框控件
final Dialog enter_password_dialog = builder.setView(view).show();
final Button positive = (Button)enter_password_dialog.findViewById(android.R.id.button1);
positive.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
hideSoftInput(et_change_color);
String entered_Thickness = et_change_color.getText().toString();
float Thickness = Integer.valueOf(entered_Thickness).floatValue();
Log.i(null, String.valueOf(Thickness));
paint.setStrokeWidth((Thickness-1) * 10 + 5);
enter_password_dialog.dismiss();
}
});
}
private AlertDialog alertDialog2;
public void changeColor() {
final String[] items = {"Red", "Yellow", "Green", "Blue", "Black", "Pink", "Orange", "Turquoise","Gray"};
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(this);
alertBuilder.setTitle("Please select the color");
alertBuilder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
switch (i) {
case 0:
paint.setColor(Color.RED);
break;
case 1:
paint.setColor(getResources().getColor(R.color.gold));
break;
case 2:
paint.setColor(getResources().getColor(R.color.green));
break;
case 3:
paint.setColor(Color.BLUE);
break;
case 4:
paint.setColor(Color.BLACK);
break;
case 5:
paint.setColor(getResources().getColor(R.color.pink));
break;
case 6:
paint.setColor(getResources().getColor(R.color.orange));
break;
case 7:
paint.setColor(getResources().getColor(R.color.turquoise));
break;
case 8:
paint.setColor(getResources().getColor(R.color.darkgray));
break;
default:
break;
}
alertDialog2.dismiss();
}
});
alertDialog2 = alertBuilder.create();
alertDialog2.show();
}
public String saveBitmap(){
//获得系统当前时间,并以该时间作为文件名
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");

@ -16,6 +16,7 @@
package net.micode.notes.ui;
import android.Manifest;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.AlertDialog;
@ -29,11 +30,16 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Paint;
import android.graphics.Typeface;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.net.Uri;
import android.os.Bundle;
@ -68,6 +74,8 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import android.graphics.Typeface;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
@ -86,21 +94,29 @@ import net.micode.notes.ui.NoteEditText.OnTextViewChangeListener;
import net.micode.notes.widget.NoteWidgetProvider_2x;
import net.micode.notes.widget.NoteWidgetProvider_4x;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
//import android.support.v13.app.ActivityCompat;
public class NoteEditActivity extends Activity implements OnClickListener,
NoteSettingChangedListener, OnTextViewChangeListener {
public static final int LOCATION_CODE = 301;
private LocationManager locationManager;
private String locationProvider = null;
private static class HeadViewHolder {
public TextView tvModified;
@ -114,7 +130,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
public ImageButton note_Read;
private static ImageButton note_revoke;
public ImageButton note_revoke;
}
private static final Map<Integer, Integer> sBgSelectorBtnsMap = new HashMap<Integer, Integer>();
@ -161,6 +177,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
private View mNoteBgColorSelector;
//private View mDraw = findViewById(R.id.img);
private View mFontSizeSelector;
private EditText mNoteEditor;
@ -169,6 +187,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
private View mNoteEditorPanel;
//private final static int REQUEST_CODE_NEW_NODE = 103;
private WorkingNote mWorkingNote;
private boolean mIsRevort;
@ -466,6 +486,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
int result = mTTS.setLanguage(Locale.US);
if (result != TextToSpeech.LANG_COUNTRY_AVAILABLE
&& result != TextToSpeech.LANG_AVAILABLE){
//Toast.makeText(NoteEditActivity.this,"暂不支持此种语言", Toast.LENGTH_LONG);
return;
}
}
@ -560,7 +581,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
mNoteHeaderHolder.note_revoke.setEnabled(false);
return;
}else{
mNoteEditor.setText(mHistory.elementAt(stack_size - 2));
mNoteEditor.setText((CharSequence) mHistory.elementAt(stack_size - 2));
mHistory.removeElementAt(stack_size - 1);
if (stack_size == 2){
mNoteHeaderHolder.note_revoke.setEnabled(false);
@ -613,6 +634,10 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
mFontSizeSelector.setVisibility(View.GONE);
}
if (id == R.id.imageButton2){
//mDraw.setVisibility(View.VISIBLE);
}
}
@Override
@ -1138,8 +1163,118 @@ public class NoteEditActivity extends Activity implements OnClickListener,
Toast.makeText(this, resId, duration).show();
}
AlertDialog alertDialog2;
private void getLocation(){
//1.获取位置管理器
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
//2.获取位置提供器GPS或是NetWork
List<String> providers = locationManager.getProviders(true);
if (providers.contains(LocationManager.GPS_PROVIDER)) {
//如果是GPS
locationProvider = LocationManager.GPS_PROVIDER;
Log.v("TAG", "定位方式GPS");
} else if (providers.contains(LocationManager.NETWORK_PROVIDER)) {
//如果是Network
locationProvider = LocationManager.NETWORK_PROVIDER;
Log.v("TAG", "定位方式Network");
}else {
Toast.makeText(this, "没有可用的位置提供器", Toast.LENGTH_SHORT).show();
return;
}
Location location = locationManager.getLastKnownLocation(locationProvider);
if (location!=null){
Toast.makeText(this, location.getLongitude() + " " +
location.getLatitude() + "", Toast.LENGTH_SHORT).show();
Log.v("TAG", "获取上次的位置-经纬度:"+location.getLongitude()+" "+location.getLatitude());
getAddress(location);
}else{
//监视地理位置变化第二个和第三个参数分别为更新的最短时间minTime和最短距离minDistace
locationManager.requestLocationUpdates(locationProvider, 3000, 1,locationListener);
}
}
public LocationListener locationListener = new LocationListener() {
// Provider的状态在可用、暂时不可用和无服务三个状态直接切换时触发此函数
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
// Provider被enable时触发此函数比如GPS被打开
@Override
public void onProviderEnabled(String provider) {
}
// Provider被disable时触发此函数比如GPS被关闭
@Override
public void onProviderDisabled(String provider) {
}
//当坐标改变时触发此函数如果Provider传进相同的坐标它就不会被触发
@Override
public void onLocationChanged(Location location) {
if (location != null) {
//如果位置发生变化,重新显示地理位置经纬度
Toast.makeText(NoteEditActivity.this, location.getLongitude() + " " +
location.getLatitude() + "", Toast.LENGTH_SHORT).show();
Log.v("TAG", "监视地理位置变化-经纬度:"+location.getLongitude()+" "+location.getLatitude());
}
}
};
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case LOCATION_CODE:
if(grantResults.length > 0 && grantResults[0] == getPackageManager().PERMISSION_GRANTED
&& grantResults[1] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "申请权限", Toast.LENGTH_LONG).show();
try {
List<String> providers = locationManager.getProviders(true);
if (providers.contains(LocationManager.NETWORK_PROVIDER)) {
//如果是Network
locationProvider = LocationManager.NETWORK_PROVIDER;
}else if (providers.contains(LocationManager.GPS_PROVIDER)) {
//如果是GPS
locationProvider = LocationManager.GPS_PROVIDER;
}
Location location = locationManager.getLastKnownLocation(locationProvider);
if (location!=null){
Toast.makeText(this, location.getLongitude() + " " +
location.getLatitude() + "", Toast.LENGTH_SHORT).show();
Log.v("TAG", "获取上次的位置-经纬度:"+location.getLongitude()+" "+location.getLatitude());
}else{
// 监视地理位置变化第二个和第三个参数分别为更新的最短时间minTime和最短距离minDistace
locationManager.requestLocationUpdates(locationProvider, 0, 0,locationListener);
}
}catch (SecurityException e){
e.printStackTrace();
}
} else {
Toast.makeText(this, "缺少权限", Toast.LENGTH_LONG).show();
finish();
}
break;
}
}
//获取地址信息:城市、街道等信息
private List<Address> getAddress(Location location) {
List<Address> result = null;
try {
if (location != null) {
Geocoder gc = new Geocoder(this, Locale.getDefault());
result = gc.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
Toast.makeText(this, "获取地址信息:"+result.toString(), Toast.LENGTH_LONG).show();
Log.v("TAG", "获取地址信息:"+result.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
AlertDialog alertDialog2;
public void showSingleAlertDiglog(){
final String[] items={"普通","非衬线","衬线","等宽"};
AlertDialog.Builder alertBuilder=new AlertDialog.Builder(this);
@ -1147,7 +1282,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
alertBuilder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
switch(i){
switch(i){
case 0:
mNoteEditor.setTypeface(Typeface.DEFAULT);
break;
@ -1160,8 +1295,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
case 3:
mNoteEditor.setTypeface(Typeface.MONOSPACE);
break;
default:
break;
}
}
});
@ -1195,6 +1328,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
String path = s.replaceAll("\\<img src=\"|\"\\/>", "").trim();//得到路径
int width = ScreenUtils.getScreenWidth(NoteEditActivity.this);//屏幕的宽度
//int height = ScreenUtils.getScreenHeight(NoteEditActivity.this);
try {
BitmapFactory.Options options = new BitmapFactory.Options();
Bitmap bitmap = BitmapFactory.decodeFile(path, options);
@ -1218,6 +1352,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
private SpannableString getBitmapMime(String path, String tagPath) {
SpannableString ss = new SpannableString(tagPath);//这里使用加了<img>标签的图片路径
int width = ScreenUtils.getScreenWidth(NoteEditActivity.this);
//int height = ScreenUtils.getScreenHeight(NoteEditActivity.this);
BitmapFactory.Options options = new BitmapFactory.Options();
//路径对应的图片
Bitmap bitmap = BitmapFactory.decodeFile(path, options);

@ -116,8 +116,6 @@ public class NoteEditText extends EditText {
int off = layout.getOffsetForHorizontal(line, x);
Selection.setSelection(getText(), off);
break;
default:
break;
}
return super.onTouchEvent(event);

@ -20,6 +20,7 @@ import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.Person;
import android.appwidget.AppWidgetManager;
import android.content.AsyncQueryHandler;
import android.content.ContentResolver;
@ -98,7 +99,7 @@ import java.io.FileInputStream;
import java.io.FileOutputStream;
public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener {
private int time_node;
private int time_node = 0;
private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0;
private Uri uri;
private static final int FOLDER_LIST_QUERY_TOKEN = 1;
@ -115,7 +116,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
private enum ListEditState {
NOTE_LIST, SUB_FOLDER, CALL_RECORD_FOLDER, PRIVATE_FOLDER, TRASH_FOLDER
}
};
private ListEditState mState;
@ -528,7 +529,8 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
if (!isSyncMode()) {
if (mCurrentFolderId == Notes.ID_TRASH_FOLER){
// if in trash, delete notes directly
if (DataUtils.batchDeleteNotes(mContentResolver, mNotesListAdapter.getSelectedItemIds())) {
if (DataUtils.batchDeleteNotes(mContentResolver, mNotesListAdapter
.getSelectedItemIds())) {
} else {
Log.e(TAG, "Delete notes error, should not happens");
}
@ -752,8 +754,8 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
super.onBackPressed();
break;
case PRIVATE_FOLDER:
mState = ListEditState.NOTE_LIST;
mCurrentFolderId = Notes.ID_ROOT_FOLDER;
mState = ListEditState.NOTE_LIST;
startAsyncNotesListQuery();
mTitleBar.setVisibility(View.GONE);
break;
@ -872,10 +874,6 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
enterPrivateFolder(if_now_create);
}
/*public void clean_All(){
}*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
@ -934,10 +932,6 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
restoreDeletedNodes();
break;
}
case R.id.menu_clean_all:{
//clean_All();
break;
}
default:
break;
}
@ -997,6 +991,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
builder.show();
}
}
}.execute();
}
@ -1012,9 +1007,8 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
public void saveContentToLocal(String filename, String content) throws Exception{
FileOutputStream output =this.openFileOutput(filename, Context.MODE_PRIVATE);
try {
output.write(content.getBytes());
}finally {
output.write(content.getBytes());
if (output != null){
output.close();
}
}

@ -71,5 +71,4 @@
</LinearLayout>
</RelativeLayout>

@ -1,72 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<RadioGroup
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/et_change_color"
android:layout_width="fill_parent"
android:hint="请选择颜色"
android:layout_height="fill_parent" >
<RadioButton
android:id="@+id/radioButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:text="Red" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:text="Yellow" />
<RadioButton
android:id="@+id/radioButton3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:text="Blue" />
<RadioButton
android:id="@+id/radioButton4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:text="Green" />
<RadioButton
android:id="@+id/radioButton5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:text="Purple" />
<RadioButton
android:id="@+id/radioButton6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:text="Pink" />
<RadioButton
android:id="@+id/radioButton7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="48dp"
android:text="Black" />
</RadioGroup>

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<EditText
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/et_change_thickness"
android:layout_width="fill_parent"
android:hint="请输入画笔粗细"
android:layout_height="fill_parent" />

@ -1,25 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_clean_all"
android:title="Empty Trash"/>
</menu>
</menu>

@ -16,151 +16,5 @@
-->
<resources>
<color name="user_query_highlight">#335b5b5b</color>
<color name="white">#ffffff</color> <!-- 白色 -->
<color name="ivory">#fffff0</color> <!-- 象牙色 -->
<color name="lightyellow">#ffffe0</color> <!-- 亮黄色 -->
<color name="yellow">#ffff00</color> <!-- 黄色 -->
<color name="snow">#fffafa</color> <!-- 雪白色 -->
<color name="floralwhite">#fffaf0</color> <!-- 花白色 -->
<color name="lemonchiffon">#fffacd</color> <!-- 柠檬绸色 -->
<color name="cornsilk">#fff8dc</color> <!-- 米绸色 -->
<color name="seaShell">#fff5ee</color> <!-- 海贝色 -->
<color name="lavenderblush">#fff0f5</color> <!-- 淡紫红 -->
<color name="papayawhip">#ffefd5</color> <!-- 番木色 -->
<color name="blanchedalmond">#ffebcd</color> <!-- 白杏色 -->
<color name="mistyrose">#ffe4e1</color> <!-- 浅玫瑰色 -->
<color name="bisque">#ffe4c4</color> <!-- 桔黄色 -->
<color name="moccasin">#ffe4b5</color> <!-- 鹿皮色 -->
<color name="navajowhite">#ffdead</color> <!-- 纳瓦白 -->
<color name="peachpuff">#ffdab9</color> <!-- 桃色 -->
<color name="gold">#ffd700</color> <!-- 金色 -->
<color name="pink">#ffc0cb</color> <!-- 粉红色 -->
<color name="lightpink">#ffb6c1</color> <!-- 亮粉红色 -->
<color name="orange">#ffa500</color> <!-- 橙色 -->
<color name="lightsalmon">#ffa07a</color> <!-- 亮肉色 -->
<color name="darkorange">#ff8c00</color> <!-- 暗桔黄色 -->
<color name="coral">#ff7f50</color> <!-- 珊瑚色 -->
<color name="hotpink">#ff69b4</color> <!-- 热粉红色 -->
<color name="tomato">#ff6347</color> <!-- 西红柿色 -->
<color name="orangered">#ff4500</color> <!-- 红橙色 -->
<color name="deeppink">#ff1493</color> <!-- 深粉红色 -->
<color name="fuchsia">#ff00ff</color> <!-- 紫红色 -->
<color name="magenta">#ff00ff</color> <!-- 红紫色 -->
<color name="red">#ff0000</color> <!-- 红色 -->
<color name="oldlace">#fdf5e6</color> <!-- 老花色 -->
<color name="lightgoldenrodyellow">#fafad2</color> <!-- 亮金黄色 -->
<color name="linen">#faf0e6</color> <!-- 亚麻色 -->
<color name="antiquewhite">#faebd7</color> <!-- 古董白 -->
<color name="salmon">#fa8072</color> <!-- 鲜肉色 -->
<color name="ghostwhite">#f8f8ff</color> <!-- 幽灵白 -->
<color name="mintcream">#f5fffa</color> <!-- 薄荷色 -->
<color name="whitesmoke">#f5f5f5</color> <!-- 烟白色 -->
<color name="beige">#f5f5dc</color> <!-- 米色 -->
<color name="wheat">#f5deb3</color> <!-- 浅黄色 -->
<color name="sandybrown">#f4a460</color> <!-- 沙褐色 -->
<color name="azure">#f0ffff</color> <!-- 天蓝色 -->
<color name="honeydew">#f0fff0</color> <!-- 蜜色 -->
<color name="aliceblue">#f0f8ff</color> <!-- 艾利斯兰 -->
<color name="khaki">#f0e68c</color> <!-- 黄褐色 -->
<color name="lightcoral">#f08080</color> <!-- 亮珊瑚色 -->
<color name="palegoldenrod">#eee8aa</color> <!-- 苍麒麟色 -->
<color name="violet">#ee82ee</color> <!-- 紫罗兰色 -->
<color name="darksalmon">#e9967a</color> <!-- 暗肉色 -->
<color name="lavender">#e6e6fa</color> <!-- 淡紫色 -->
<color name="lightcyan">#e0ffff</color> <!-- 亮青色 -->
<color name="burlywood">#deb887</color> <!-- 实木色 -->
<color name="plum">#dda0dd</color> <!-- 洋李色 -->
<color name="gainsboro">#dcdcdc</color> <!-- 淡灰色 -->
<color name="crimson">#dc143c</color> <!-- 暗深红色 -->
<color name="palevioletred">#db7093</color> <!-- 苍紫罗兰色 -->
<color name="goldenrod">#daa520</color> <!-- 金麒麟色 -->
<color name="orchid">#da70d6</color> <!-- 淡紫色 -->
<color name="thistle">#d8bfd8</color> <!-- 蓟色 -->
<color name="lightgray">#d3d3d3</color> <!-- 亮灰色 -->
<color name="tan">#d2b48c</color> <!-- 茶色 -->
<color name="chocolate">#d2691e</color> <!-- 巧可力色 -->
<color name="peru">#cd853f</color> <!-- 秘鲁色 -->
<color name="indianred">#cd5c5c</color> <!-- 印第安红 -->
<color name="mediumvioletred">#c71585</color> <!-- 中紫罗兰色 -->
<color name="silver">#c0c0c0</color> <!-- 银色 -->
<color name="darkkhaki">#bdb76b</color> <!-- 暗黄褐色 -->
<color name="rosybrown">#bc8f8f</color> <!-- 褐玫瑰红 -->
<color name="mediumorchid">#ba55d3</color> <!-- 中粉紫色 -->
<color name="darkgoldenrod">#b8860b</color> <!-- 暗金黄色 -->
<color name="firebrick">#b22222</color> <!-- 火砖色 -->
<color name="powderblue">#b0e0e6</color> <!-- 粉蓝色 -->
<color name="lightsteelblue">#b0c4de</color> <!-- 亮钢兰色 -->
<color name="paleturquoise">#afeeee</color> <!-- 苍宝石绿 -->
<color name="greenyellow">#adff2f</color> <!-- 黄绿色 -->
<color name="lightblue">#add8e6</color> <!-- 亮蓝色 -->
<color name="darkgray">#a9a9a9</color> <!-- 暗灰色 -->
<color name="brown">#a52a2a</color> <!-- 褐色 -->
<color name="sienna">#a0522d</color> <!-- 赭色 -->
<color name="darkorchid">#9932cc</color> <!-- 暗紫色 -->
<color name="palegreen">#98fb98</color> <!-- 苍绿色 -->
<color name="darkviolet">#9400d3</color> <!-- 暗紫罗兰色 -->
<color name="mediumpurple">#9370db</color> <!-- 中紫色 -->
<color name="lightgreen">#90ee90</color> <!-- 亮绿色 -->
<color name="darkseagreen">#8fbc8f</color> <!-- 暗海兰色 -->
<color name="saddlebrown">#8b4513</color> <!-- 重褐色 -->
<color name="darkmagenta">#8b008b</color> <!-- 暗洋红 -->
<color name="darkred">#8b0000</color> <!-- 暗红色 -->
<color name="blueviolet">#8a2be2</color> <!-- 紫罗兰蓝色 -->
<color name="lightskyblue">#87cefa</color> <!-- 亮天蓝色 -->
<color name="skyblue">#87ceeb</color> <!-- 天蓝色 -->
<color name="gray">#808080</color> <!-- 灰色 -->
<color name="grey">#808080</color> <!-- 灰色 -->
<color name="olive">#808000</color> <!-- 橄榄色 -->
<color name="purple">#800080</color> <!-- 紫色 -->
<color name="maroon">#800000</color> <!-- 粟色 -->
<color name="aquamarine">#7fffd4</color> <!-- 碧绿色 -->
<color name="chartreuse">#7fff00</color> <!-- 黄绿色 -->
<color name="lawngreen">#7cfc00</color> <!-- 草绿色 -->
<color name="mediumslateblue">#7b68ee</color> <!-- 中暗蓝色 -->
<color name="lightslategray">#778899</color> <!-- 亮蓝灰 -->
<color name="lightslategrey">#778899</color> <!-- 亮蓝灰 -->
<color name="slategray">#708090</color> <!-- 灰石色 -->
<color name="slategrey">#708090</color> <!-- 灰石色 -->
<color name="olivedrab">#6b8e23</color> <!-- 深绿褐色 -->
<color name="slateblue">#6a5acd</color> <!-- 石蓝色 -->
<color name="dimgray">#696969</color> <!-- 暗灰色 -->
<color name="dimgrey">#696969</color> <!-- 暗灰色 -->
<color name="mediumaquamarine">#66cdaa</color> <!-- 中绿色 -->
<color name="cornflowerblue">#6495ed</color> <!-- 菊兰色 -->
<color name="cadetblue">#5f9ea0</color> <!-- 军兰色 -->
<color name="darkolivegreen">#556b2f</color> <!-- 暗橄榄绿 -->
<color name="indigo">#4b0082</color> <!-- 靛青色 -->
<color name="mediumturquoise">#48d1cc</color> <!-- 中绿宝石 -->
<color name="darkslateblue">#483d8b</color> <!-- 暗灰蓝色 -->
<color name="steelblue">#4682b4</color> <!-- 钢兰色 -->
<color name="royalblue">#4169e1</color> <!-- 皇家蓝 -->
<color name="turquoise">#40e0d0</color> <!-- 青绿色 -->
<color name="mediumseagreen">#3cb371</color> <!-- 中海蓝 -->
<color name="limegreen">#32cd32</color> <!-- 橙绿色 -->
<color name="darkslategray">#2f4f4f</color> <!-- 暗瓦灰色 -->
<color name="darkslategrey">#2f4f4f</color> <!-- 暗瓦灰色 -->
<color name="seagreen">#2e8b57</color> <!-- 海绿色 -->
<color name="forestgreen">#228b22</color> <!-- 森林绿 -->
<color name="lightseagreen">#20b2aa</color> <!-- 亮海蓝色 -->
<color name="dodgerblue">#1e90ff</color> <!-- 闪兰色 -->
<color name="midnightblue">#191970</color> <!-- 中灰兰色 -->
<color name="aqua">#00ffff</color> <!-- 浅绿色 -->
<color name="cyan">#00ffff</color> <!-- 青色 -->
<color name="springgreen">#00ff7f</color> <!-- 春绿色 -->
<color name="lime">#00ff00</color> <!-- 酸橙色 -->
<color name="mediumspringgreen">#00fa9a</color> <!-- 中春绿色 -->
<color name="darkturquoise">#00ced1</color> <!-- 暗宝石绿 -->
<color name="deepskyblue">#00bfff</color> <!-- 深天蓝色 -->
<color name="darkcyan">#008b8b</color> <!-- 暗青色 -->
<color name="teal">#008080</color> <!-- 水鸭色 -->
<color name="green">#008000</color> <!-- 绿色 -->
<color name="darkgreen">#006400</color> <!-- 暗绿色 -->
<color name="blue">#0000ff</color> <!-- 蓝色 -->
<color name="mediumblue">#0000cd</color> <!-- 中兰色 -->
<color name="darkblue">#00008b</color> <!-- 暗蓝色 -->
<color name="navy">#000080</color> <!-- 海军色 -->
<color name="black">#000000</color> <!-- 黑色 -->
<color name="user_query_highlight">#335b5b5b</color>
</resources>

Loading…
Cancel
Save