android 常用类
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311,本文出自【张鸿洋的博客】
打开大家手上的项目,基本都会有一大批的辅助类,今天特此整理出10个基本每个项目中都会使用的工具类,用于快速开发~~
在此感谢群里给我发项目中工具类的兄弟/姐妹~
1、日志工具类L.java
- package com.zhy.utils;
- import android.util.Log;
- /**
- * Log统一管理类
- *
- *
- *
- */
- public class L
- {
- private L()
- {
- /* cannot be instantiated */
- throw new UnsupportedOperationException("cannot be instantiated");
- }
- public static boolean isDebug = true;// 是否需要打印bug,可以在application的onCreate函数里面初始化
- private static final String TAG = "way";
- // 下面四个是默认tag的函数
- public static void i(String msg)
- {
- if (isDebug)
- Log.i(TAG, msg);
- }
- public static void d(String msg)
- {
- if (isDebug)
- Log.d(TAG, msg);
- }
- public static void e(String msg)
- {
- if (isDebug)
- Log.e(TAG, msg);
- }
- public static void v(String msg)
- {
- if (isDebug)
- Log.v(TAG, msg);
- }
- // 下面是传入自定义tag的函数
- public static void i(String tag, String msg)
- {
- if (isDebug)
- Log.i(tag, msg);
- }
- public static void d(String tag, String msg)
- {
- if (isDebug)
- Log.i(tag, msg);
- }
- public static void e(String tag, String msg)
- {
- if (isDebug)
- Log.i(tag, msg);
- }
- public static void v(String tag, String msg)
- {
- if (isDebug)
- Log.i(tag, msg);
- }
- }
package com.zhy.utils; import android.util.Log; /**
* Log统一管理类
*
*
*
*/
public class L
{ private L()
{
/* cannot be instantiated */
throw new UnsupportedOperationException("cannot be instantiated");
} public static boolean isDebug = true;// 是否需要打印bug,可以在application的onCreate函数里面初始化
private static final String TAG = "way"; // 下面四个是默认tag的函数
public static void i(String msg)
{
if (isDebug)
Log.i(TAG, msg);
} public static void d(String msg)
{
if (isDebug)
Log.d(TAG, msg);
} public static void e(String msg)
{
if (isDebug)
Log.e(TAG, msg);
} public static void v(String msg)
{
if (isDebug)
Log.v(TAG, msg);
} // 下面是传入自定义tag的函数
public static void i(String tag, String msg)
{
if (isDebug)
Log.i(tag, msg);
} public static void d(String tag, String msg)
{
if (isDebug)
Log.i(tag, msg);
} public static void e(String tag, String msg)
{
if (isDebug)
Log.i(tag, msg);
} public static void v(String tag, String msg)
{
if (isDebug)
Log.i(tag, msg);
}
}
网上看到的类,注释上应该原创作者的名字,很简单的一个类;网上也有很多提供把日志记录到SDCard上的,不过我是从来没记录过,所以引入个最简单的,大家可以进行评价是否需要扩充~~
2、Toast统一管理类
- package com.zhy.utils;
- import android.content.Context;
- import android.widget.Toast;
- /**
- * Toast统一管理类
- *
- */
- public class T
- {
- private T()
- {
- /* cannot be instantiated */
- throw new UnsupportedOperationException("cannot be instantiated");
- }
- public static boolean isShow = true;
- /**
- * 短时间显示Toast
- *
- * @param context
- * @param message
- */
- public static void showShort(Context context, CharSequence message)
- {
- if (isShow)
- Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
- }
- /**
- * 短时间显示Toast
- *
- * @param context
- * @param message
- */
- public static void showShort(Context context, int message)
- {
- if (isShow)
- Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
- }
- /**
- * 长时间显示Toast
- *
- * @param context
- * @param message
- */
- public static void showLong(Context context, CharSequence message)
- {
- if (isShow)
- Toast.makeText(context, message, Toast.LENGTH_LONG).show();
- }
- /**
- * 长时间显示Toast
- *
- * @param context
- * @param message
- */
- public static void showLong(Context context, int message)
- {
- if (isShow)
- Toast.makeText(context, message, Toast.LENGTH_LONG).show();
- }
- /**
- * 自定义显示Toast时间
- *
- * @param context
- * @param message
- * @param duration
- */
- public static void show(Context context, CharSequence message, int duration)
- {
- if (isShow)
- Toast.makeText(context, message, duration).show();
- }
- /**
- * 自定义显示Toast时间
- *
- * @param context
- * @param message
- * @param duration
- */
- public static void show(Context context, int message, int duration)
- {
- if (isShow)
- Toast.makeText(context, message, duration).show();
- }
- }
package com.zhy.utils; import android.content.Context;
import android.widget.Toast; /**
* Toast统一管理类
*
*/
public class T
{ private T()
{
/* cannot be instantiated */
throw new UnsupportedOperationException("cannot be instantiated");
} public static boolean isShow = true; /**
* 短时间显示Toast
*
* @param context
* @param message
*/
public static void showShort(Context context, CharSequence message)
{
if (isShow)
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
} /**
* 短时间显示Toast
*
* @param context
* @param message
*/
public static void showShort(Context context, int message)
{
if (isShow)
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
} /**
* 长时间显示Toast
*
* @param context
* @param message
*/
public static void showLong(Context context, CharSequence message)
{
if (isShow)
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
} /**
* 长时间显示Toast
*
* @param context
* @param message
*/
public static void showLong(Context context, int message)
{
if (isShow)
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
} /**
* 自定义显示Toast时间
*
* @param context
* @param message
* @param duration
*/
public static void show(Context context, CharSequence message, int duration)
{
if (isShow)
Toast.makeText(context, message, duration).show();
} /**
* 自定义显示Toast时间
*
* @param context
* @param message
* @param duration
*/
public static void show(Context context, int message, int duration)
{
if (isShow)
Toast.makeText(context, message, duration).show();
} }
也是非常简单的一个封装,能省则省了~~
3、SharedPreferences封装类SPUtils
- package com.zhy.utils;
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- import java.util.Map;
- import android.content.Context;
- import android.content.SharedPreferences;
- public class SPUtils
- {
- /**
- * 保存在手机里面的文件名
- */
- public static final String FILE_NAME = "share_data";
- /**
- * 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法
- *
- * @param context
- * @param key
- * @param object
- */
- public static void put(Context context, String key, Object object)
- {
- SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
- Context.MODE_PRIVATE);
- SharedPreferences.Editor editor = sp.edit();
- if (object instanceof String)
- {
- editor.putString(key, (String) object);
- } else if (object instanceof Integer)
- {
- editor.putInt(key, (Integer) object);
- } else if (object instanceof Boolean)
- {
- editor.putBoolean(key, (Boolean) object);
- } else if (object instanceof Float)
- {
- editor.putFloat(key, (Float) object);
- } else if (object instanceof Long)
- {
- editor.putLong(key, (Long) object);
- } else
- {
- editor.putString(key, object.toString());
- }
- SharedPreferencesCompat.apply(editor);
- }
- /**
- * 得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值
- *
- * @param context
- * @param key
- * @param defaultObject
- * @return
- */
- public static Object get(Context context, String key, Object defaultObject)
- {
- SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
- Context.MODE_PRIVATE);
- if (defaultObject instanceof String)
- {
- return sp.getString(key, (String) defaultObject);
- } else if (defaultObject instanceof Integer)
- {
- return sp.getInt(key, (Integer) defaultObject);
- } else if (defaultObject instanceof Boolean)
- {
- return sp.getBoolean(key, (Boolean) defaultObject);
- } else if (defaultObject instanceof Float)
- {
- return sp.getFloat(key, (Float) defaultObject);
- } else if (defaultObject instanceof Long)
- {
- return sp.getLong(key, (Long) defaultObject);
- }
- return null;
- }
- /**
- * 移除某个key值已经对应的值
- * @param context
- * @param key
- */
- public static void remove(Context context, String key)
- {
- SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
- Context.MODE_PRIVATE);
- SharedPreferences.Editor editor = sp.edit();
- editor.remove(key);
- SharedPreferencesCompat.apply(editor);
- }
- /**
- * 清除所有数据
- * @param context
- */
- public static void clear(Context context)
- {
- SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
- Context.MODE_PRIVATE);
- SharedPreferences.Editor editor = sp.edit();
- editor.clear();
- SharedPreferencesCompat.apply(editor);
- }
- /**
- * 查询某个key是否已经存在
- * @param context
- * @param key
- * @return
- */
- public static boolean contains(Context context, String key)
- {
- SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
- Context.MODE_PRIVATE);
- return sp.contains(key);
- }
- /**
- * 返回所有的键值对
- *
- * @param context
- * @return
- */
- public static Map<String, ?> getAll(Context context)
- {
- SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
- Context.MODE_PRIVATE);
- return sp.getAll();
- }
- /**
- * 创建一个解决SharedPreferencesCompat.apply方法的一个兼容类
- *
- * @author zhy
- *
- */
- private static class SharedPreferencesCompat
- {
- private static final Method sApplyMethod = findApplyMethod();
- /**
- * 反射查找apply的方法
- *
- * @return
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- private static Method findApplyMethod()
- {
- try
- {
- Class clz = SharedPreferences.Editor.class;
- return clz.getMethod("apply");
- } catch (NoSuchMethodException e)
- {
- }
- return null;
- }
- /**
- * 如果找到则使用apply执行,否则使用commit
- *
- * @param editor
- */
- public static void apply(SharedPreferences.Editor editor)
- {
- try
- {
- if (sApplyMethod != null)
- {
- sApplyMethod.invoke(editor);
- return;
- }
- } catch (IllegalArgumentException e)
- {
- } catch (IllegalAccessException e)
- {
- } catch (InvocationTargetException e)
- {
- }
- editor.commit();
- }
- }
- }
package com.zhy.utils; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Map; import android.content.Context;
import android.content.SharedPreferences; public class SPUtils
{
/**
* 保存在手机里面的文件名
*/
public static final String FILE_NAME = "share_data"; /**
* 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法
*
* @param context
* @param key
* @param object
*/
public static void put(Context context, String key, Object object)
{ SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit(); if (object instanceof String)
{
editor.putString(key, (String) object);
} else if (object instanceof Integer)
{
editor.putInt(key, (Integer) object);
} else if (object instanceof Boolean)
{
editor.putBoolean(key, (Boolean) object);
} else if (object instanceof Float)
{
editor.putFloat(key, (Float) object);
} else if (object instanceof Long)
{
editor.putLong(key, (Long) object);
} else
{
editor.putString(key, object.toString());
} SharedPreferencesCompat.apply(editor);
} /**
* 得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值
*
* @param context
* @param key
* @param defaultObject
* @return
*/
public static Object get(Context context, String key, Object defaultObject)
{
SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
Context.MODE_PRIVATE); if (defaultObject instanceof String)
{
return sp.getString(key, (String) defaultObject);
} else if (defaultObject instanceof Integer)
{
return sp.getInt(key, (Integer) defaultObject);
} else if (defaultObject instanceof Boolean)
{
return sp.getBoolean(key, (Boolean) defaultObject);
} else if (defaultObject instanceof Float)
{
return sp.getFloat(key, (Float) defaultObject);
} else if (defaultObject instanceof Long)
{
return sp.getLong(key, (Long) defaultObject);
} return null;
} /**
* 移除某个key值已经对应的值
* @param context
* @param key
*/
public static void remove(Context context, String key)
{
SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.remove(key);
SharedPreferencesCompat.apply(editor);
} /**
* 清除所有数据
* @param context
*/
public static void clear(Context context)
{
SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.clear();
SharedPreferencesCompat.apply(editor);
} /**
* 查询某个key是否已经存在
* @param context
* @param key
* @return
*/
public static boolean contains(Context context, String key)
{
SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
Context.MODE_PRIVATE);
return sp.contains(key);
} /**
* 返回所有的键值对
*
* @param context
* @return
*/
public static Map<String, ?> getAll(Context context)
{
SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
Context.MODE_PRIVATE);
return sp.getAll();
} /**
* 创建一个解决SharedPreferencesCompat.apply方法的一个兼容类
*
* @author zhy
*
*/
private static class SharedPreferencesCompat
{
private static final Method sApplyMethod = findApplyMethod(); /**
* 反射查找apply的方法
*
* @return
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
private static Method findApplyMethod()
{
try
{
Class clz = SharedPreferences.Editor.class;
return clz.getMethod("apply");
} catch (NoSuchMethodException e)
{
} return null;
} /**
* 如果找到则使用apply执行,否则使用commit
*
* @param editor
*/
public static void apply(SharedPreferences.Editor editor)
{
try
{
if (sApplyMethod != null)
{
sApplyMethod.invoke(editor);
return;
}
} catch (IllegalArgumentException e)
{
} catch (IllegalAccessException e)
{
} catch (InvocationTargetException e)
{
}
editor.commit();
}
} }
对SharedPreference的使用做了建议的封装,对外公布出put,get,remove,clear等等方法;
注意一点,里面所有的commit操作使用了SharedPreferencesCompat.apply进行了替代,目的是尽可能的使用apply代替commit
首先说下为什么,因为commit方法是同步的,并且我们很多时候的commit操作都是UI线程中,毕竟是IO操作,尽可能异步;
所以我们使用apply进行替代,apply异步的进行写入;
但是apply相当于commit来说是new API呢,为了更好的兼容,我们做了适配;
SharedPreferencesCompat也可以给大家创建兼容类提供了一定的参考~~
4、单位转换类 DensityUtils
- package com.zhy.utils;
- import android.content.Context;
- import android.util.TypedValue;
- /**
- * 常用单位转换的辅助类
- *
- *
- *
- */
- public class DensityUtils
- {
- private DensityUtils()
- {
- /* cannot be instantiated */
- throw new UnsupportedOperationException("cannot be instantiated");
- }
- /**
- * dp转px
- *
- * @param context
- * @param val
- * @return
- */
- public static int dp2px(Context context, float dpVal)
- {
- return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
- dpVal, context.getResources().getDisplayMetrics());
- }
- /**
- * sp转px
- *
- * @param context
- * @param val
- * @return
- */
- public static int sp2px(Context context, float spVal)
- {
- return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
- spVal, context.getResources().getDisplayMetrics());
- }
- /**
- * px转dp
- *
- * @param context
- * @param pxVal
- * @return
- */
- public static float px2dp(Context context, float pxVal)
- {
- final float scale = context.getResources().getDisplayMetrics().density;
- return (pxVal / scale);
- }
- /**
- * px转sp
- *
- * @param fontScale
- * @param pxVal
- * @return
- */
- public static float px2sp(Context context, float pxVal)
- {
- return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
- }
- }
package com.zhy.utils; import android.content.Context;
import android.util.TypedValue; /**
* 常用单位转换的辅助类
*
*
*
*/
public class DensityUtils
{
private DensityUtils()
{
/* cannot be instantiated */
throw new UnsupportedOperationException("cannot be instantiated");
} /**
* dp转px
*
* @param context
* @param val
* @return
*/
public static int dp2px(Context context, float dpVal)
{
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
dpVal, context.getResources().getDisplayMetrics());
} /**
* sp转px
*
* @param context
* @param val
* @return
*/
public static int sp2px(Context context, float spVal)
{
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
spVal, context.getResources().getDisplayMetrics());
} /**
* px转dp
*
* @param context
* @param pxVal
* @return
*/
public static float px2dp(Context context, float pxVal)
{
final float scale = context.getResources().getDisplayMetrics().density;
return (pxVal / scale);
} /**
* px转sp
*
* @param fontScale
* @param pxVal
* @return
*/
public static float px2sp(Context context, float pxVal)
{
return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
} }
5、SD卡相关辅助类 SDCardUtils
- package com.zhy.utils;
- import java.io.File;
- import android.os.Environment;
- import android.os.StatFs;
- /**
- * SD卡相关的辅助类
- *
- *
- *
- */
- public class SDCardUtils
- {
- private SDCardUtils()
- {
- /* cannot be instantiated */
- throw new UnsupportedOperationException("cannot be instantiated");
- }
- /**
- * 判断SDCard是否可用
- *
- * @return
- */
- public static boolean isSDCardEnable()
- {
- return Environment.getExternalStorageState().equals(
- Environment.MEDIA_MOUNTED);
- }
- /**
- * 获取SD卡路径
- *
- * @return
- */
- public static String getSDCardPath()
- {
- return Environment.getExternalStorageDirectory().getAbsolutePath()
- + File.separator;
- }
- /**
- * 获取SD卡的剩余容量 单位byte
- *
- * @return
- */
- public static long getSDCardAllSize()
- {
- if (isSDCardEnable())
- {
- StatFs stat = new StatFs(getSDCardPath());
- // 获取空闲的数据块的数量
- long availableBlocks = (long) stat.getAvailableBlocks() - 4;
- // 获取单个数据块的大小(byte)
- long freeBlocks = stat.getAvailableBlocks();
- return freeBlocks * availableBlocks;
- }
- return 0;
- }
- /**
- * 获取指定路径所在空间的剩余可用容量字节数,单位byte
- *
- * @param filePath
- * @return 容量字节 SDCard可用空间,内部存储可用空间
- */
- public static long getFreeBytes(String filePath)
- {
- // 如果是sd卡的下的路径,则获取sd卡可用容量
- if (filePath.startsWith(getSDCardPath()))
- {
- filePath = getSDCardPath();
- } else
- {// 如果是内部存储的路径,则获取内存存储的可用容量
- filePath = Environment.getDataDirectory().getAbsolutePath();
- }
- StatFs stat = new StatFs(filePath);
- long availableBlocks = (long) stat.getAvailableBlocks() - 4;
- return stat.getBlockSize() * availableBlocks;
- }
- /**
- * 获取系统存储路径
- *
- * @return
- */
- public static String getRootDirectoryPath()
- {
- return Environment.getRootDirectory().getAbsolutePath();
- }
- }
package com.zhy.utils; import java.io.File; import android.os.Environment;
import android.os.StatFs; /**
* SD卡相关的辅助类
*
*
*
*/
public class SDCardUtils
{
private SDCardUtils()
{
/* cannot be instantiated */
throw new UnsupportedOperationException("cannot be instantiated");
} /**
* 判断SDCard是否可用
*
* @return
*/
public static boolean isSDCardEnable()
{
return Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED); } /**
* 获取SD卡路径
*
* @return
*/
public static String getSDCardPath()
{
return Environment.getExternalStorageDirectory().getAbsolutePath()
+ File.separator;
} /**
* 获取SD卡的剩余容量 单位byte
*
* @return
*/
public static long getSDCardAllSize()
{
if (isSDCardEnable())
{
StatFs stat = new StatFs(getSDCardPath());
// 获取空闲的数据块的数量
long availableBlocks = (long) stat.getAvailableBlocks() - 4;
// 获取单个数据块的大小(byte)
long freeBlocks = stat.getAvailableBlocks();
return freeBlocks * availableBlocks;
}
return 0;
} /**
* 获取指定路径所在空间的剩余可用容量字节数,单位byte
*
* @param filePath
* @return 容量字节 SDCard可用空间,内部存储可用空间
*/
public static long getFreeBytes(String filePath)
{
// 如果是sd卡的下的路径,则获取sd卡可用容量
if (filePath.startsWith(getSDCardPath()))
{
filePath = getSDCardPath();
} else
{// 如果是内部存储的路径,则获取内存存储的可用容量
filePath = Environment.getDataDirectory().getAbsolutePath();
}
StatFs stat = new StatFs(filePath);
long availableBlocks = (long) stat.getAvailableBlocks() - 4;
return stat.getBlockSize() * availableBlocks;
} /**
* 获取系统存储路径
*
* @return
*/
public static String getRootDirectoryPath()
{
return Environment.getRootDirectory().getAbsolutePath();
} }
6、屏幕相关辅助类 ScreenUtils
- package com.zhy.utils;
- import android.app.Activity;
- import android.content.Context;
- import android.graphics.Bitmap;
- import android.graphics.Rect;
- import android.util.DisplayMetrics;
- import android.view.View;
- import android.view.WindowManager;
- /**
- * 获得屏幕相关的辅助类
- *
- *
- *
- */
- public class ScreenUtils
- {
- private ScreenUtils()
- {
- /* cannot be instantiated */
- throw new UnsupportedOperationException("cannot be instantiated");
- }
- /**
- * 获得屏幕高度
- *
- * @param context
- * @return
- */
- public static int getScreenWidth(Context context)
- {
- WindowManager wm = (WindowManager) context
- .getSystemService(Context.WINDOW_SERVICE);
- DisplayMetrics outMetrics = new DisplayMetrics();
- wm.getDefaultDisplay().getMetrics(outMetrics);
- return outMetrics.widthPixels;
- }
- /**
- * 获得屏幕宽度
- *
- * @param context
- * @return
- */
- public static int getScreenHeight(Context context)
- {
- WindowManager wm = (WindowManager) context
- .getSystemService(Context.WINDOW_SERVICE);
- DisplayMetrics outMetrics = new DisplayMetrics();
- wm.getDefaultDisplay().getMetrics(outMetrics);
- return outMetrics.heightPixels;
- }
- /**
- * 获得状态栏的高度
- *
- * @param context
- * @return
- */
- public static int getStatusHeight(Context context)
- {
- int statusHeight = -1;
- try
- {
- Class<?> clazz = Class.forName("com.android.internal.R$dimen");
- Object object = clazz.newInstance();
- int height = Integer.parseInt(clazz.getField("status_bar_height")
- .get(object).toString());
- statusHeight = context.getResources().getDimensionPixelSize(height);
- } catch (Exception e)
- {
- e.printStackTrace();
- }
- return statusHeight;
- }
- /**
- * 获取当前屏幕截图,包含状态栏
- *
- * @param activity
- * @return
- */
- public static Bitmap snapShotWithStatusBar(Activity activity)
- {
- View view = activity.getWindow().getDecorView();
- view.setDrawingCacheEnabled(true);
- view.buildDrawingCache();
- Bitmap bmp = view.getDrawingCache();
- int width = getScreenWidth(activity);
- int height = getScreenHeight(activity);
- Bitmap bp = null;
- bp = Bitmap.createBitmap(bmp, 0, 0, width, height);
- view.destroyDrawingCache();
- return bp;
- }
- /**
- * 获取当前屏幕截图,不包含状态栏
- *
- * @param activity
- * @return
- */
- public static Bitmap snapShotWithoutStatusBar(Activity activity)
- {
- View view = activity.getWindow().getDecorView();
- view.setDrawingCacheEnabled(true);
- view.buildDrawingCache();
- Bitmap bmp = view.getDrawingCache();
- Rect frame = new Rect();
- activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
- int statusBarHeight = frame.top;
- int width = getScreenWidth(activity);
- int height = getScreenHeight(activity);
- Bitmap bp = null;
- bp = Bitmap.createBitmap(bmp, 0, statusBarHeight, width, height
- - statusBarHeight);
- view.destroyDrawingCache();
- return bp;
- }
- }
package com.zhy.utils; import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Rect;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.WindowManager; /**
* 获得屏幕相关的辅助类
*
*
*
*/
public class ScreenUtils
{
private ScreenUtils()
{
/* cannot be instantiated */
throw new UnsupportedOperationException("cannot be instantiated");
} /**
* 获得屏幕高度
*
* @param context
* @return
*/
public static int getScreenWidth(Context context)
{
WindowManager wm = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics outMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
return outMetrics.widthPixels;
} /**
* 获得屏幕宽度
*
* @param context
* @return
*/
public static int getScreenHeight(Context context)
{
WindowManager wm = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics outMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
return outMetrics.heightPixels;
} /**
* 获得状态栏的高度
*
* @param context
* @return
*/
public static int getStatusHeight(Context context)
{ int statusHeight = -1;
try
{
Class<?> clazz = Class.forName("com.android.internal.R$dimen");
Object object = clazz.newInstance();
int height = Integer.parseInt(clazz.getField("status_bar_height")
.get(object).toString());
statusHeight = context.getResources().getDimensionPixelSize(height);
} catch (Exception e)
{
e.printStackTrace();
}
return statusHeight;
} /**
* 获取当前屏幕截图,包含状态栏
*
* @param activity
* @return
*/
public static Bitmap snapShotWithStatusBar(Activity activity)
{
View view = activity.getWindow().getDecorView();
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bmp = view.getDrawingCache();
int width = getScreenWidth(activity);
int height = getScreenHeight(activity);
Bitmap bp = null;
bp = Bitmap.createBitmap(bmp, 0, 0, width, height);
view.destroyDrawingCache();
return bp; } /**
* 获取当前屏幕截图,不包含状态栏
*
* @param activity
* @return
*/
public static Bitmap snapShotWithoutStatusBar(Activity activity)
{
View view = activity.getWindow().getDecorView();
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bmp = view.getDrawingCache();
Rect frame = new Rect();
activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top; int width = getScreenWidth(activity);
int height = getScreenHeight(activity);
Bitmap bp = null;
bp = Bitmap.createBitmap(bmp, 0, statusBarHeight, width, height
- statusBarHeight);
view.destroyDrawingCache();
return bp; } }
7、App相关辅助类
- package com.zhy.utils;
- import android.content.Context;
- import android.content.pm.PackageInfo;
- import android.content.pm.PackageManager;
- import android.content.pm.PackageManager.NameNotFoundException;
- /**
- * 跟App相关的辅助类
- *
- *
- *
- */
- public class AppUtils
- {
- private AppUtils()
- {
- /* cannot be instantiated */
- throw new UnsupportedOperationException("cannot be instantiated");
- }
- /**
- * 获取应用程序名称
- */
- public static String getAppName(Context context)
- {
- try
- {
- PackageManager packageManager = context.getPackageManager();
- PackageInfo packageInfo = packageManager.getPackageInfo(
- context.getPackageName(), 0);
- int labelRes = packageInfo.applicationInfo.labelRes;
- return context.getResources().getString(labelRes);
- } catch (NameNotFoundException e)
- {
- e.printStackTrace();
- }
- return null;
- }
- /**
- * [获取应用程序版本名称信息]
- *
- * @param context
- * @return 当前应用的版本名称
- */
- public static String getVersionName(Context context)
- {
- try
- {
- PackageManager packageManager = context.getPackageManager();
- PackageInfo packageInfo = packageManager.getPackageInfo(
- context.getPackageName(), 0);
- return packageInfo.versionName;
- } catch (NameNotFoundException e)
- {
- e.printStackTrace();
- }
- return null;
- }
- }
package com.zhy.utils; import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException; /**
* 跟App相关的辅助类
*
*
*
*/
public class AppUtils
{ private AppUtils()
{
/* cannot be instantiated */
throw new UnsupportedOperationException("cannot be instantiated"); } /**
* 获取应用程序名称
*/
public static String getAppName(Context context)
{
try
{
PackageManager packageManager = context.getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo(
context.getPackageName(), 0);
int labelRes = packageInfo.applicationInfo.labelRes;
return context.getResources().getString(labelRes);
} catch (NameNotFoundException e)
{
e.printStackTrace();
}
return null;
} /**
* [获取应用程序版本名称信息]
*
* @param context
* @return 当前应用的版本名称
*/
public static String getVersionName(Context context)
{
try
{
PackageManager packageManager = context.getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo(
context.getPackageName(), 0);
return packageInfo.versionName; } catch (NameNotFoundException e)
{
e.printStackTrace();
}
return null;
} }
8、软键盘相关辅助类KeyBoardUtils
- package com.zhy.utils;
- import android.content.Context;
- import android.view.inputmethod.InputMethodManager;
- import android.widget.EditText;
- /**
- * 打开或关闭软键盘
- *
- * @author zhy
- *
- */
- public class KeyBoardUtils
- {
- /**
- * 打卡软键盘
- *
- * @param mEditText
- * 输入框
- * @param mContext
- * 上下文
- */
- public static void openKeybord(EditText mEditText, Context mContext)
- {
- InputMethodManager imm = (InputMethodManager) mContext
- .getSystemService(Context.INPUT_METHOD_SERVICE);
- imm.showSoftInput(mEditText, InputMethodManager.RESULT_SHOWN);
- imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,
- InputMethodManager.HIDE_IMPLICIT_ONLY);
- }
- /**
- * 关闭软键盘
- *
- * @param mEditText
- * 输入框
- * @param mContext
- * 上下文
- */
- public static void closeKeybord(EditText mEditText, Context mContext)
- {
- InputMethodManager imm = (InputMethodManager) mContext
- .getSystemService(Context.INPUT_METHOD_SERVICE);
- imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
- }
- }
package com.zhy.utils; import android.content.Context;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText; /**
* 打开或关闭软键盘
*
* @author zhy
*
*/
public class KeyBoardUtils
{
/**
* 打卡软键盘
*
* @param mEditText
* 输入框
* @param mContext
* 上下文
*/
public static void openKeybord(EditText mEditText, Context mContext)
{
InputMethodManager imm = (InputMethodManager) mContext
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mEditText, InputMethodManager.RESULT_SHOWN);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,
InputMethodManager.HIDE_IMPLICIT_ONLY);
} /**
* 关闭软键盘
*
* @param mEditText
* 输入框
* @param mContext
* 上下文
*/
public static void closeKeybord(EditText mEditText, Context mContext)
{
InputMethodManager imm = (InputMethodManager) mContext
.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
}
}
9、网络相关辅助类 NetUtils
- package com.zhy.utils;
- import android.app.Activity;
- import android.content.ComponentName;
- import android.content.Context;
- import android.content.Intent;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- /**
- * 跟网络相关的工具类
- *
- *
- *
- */
- public class NetUtils
- {
- private NetUtils()
- {
- /* cannot be instantiated */
- throw new UnsupportedOperationException("cannot be instantiated");
- }
- /**
- * 判断网络是否连接
- *
- * @param context
- * @return
- */
- public static boolean isConnected(Context context)
- {
- ConnectivityManager connectivity = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- if (null != connectivity)
- {
- NetworkInfo info = connectivity.getActiveNetworkInfo();
- if (null != info && info.isConnected())
- {
- if (info.getState() == NetworkInfo.State.CONNECTED)
- {
- return true;
- }
- }
- }
- return false;
- }
- /**
- * 判断是否是wifi连接
- */
- public static boolean isWifi(Context context)
- {
- ConnectivityManager cm = (ConnectivityManager) context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- if (cm == null)
- return false;
- return cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_WIFI;
- }
- /**
- * 打开网络设置界面
- */
- public static void openSetting(Activity activity)
- {
- Intent intent = new Intent("/");
- ComponentName cm = new ComponentName("com.android.settings",
- "com.android.settings.WirelessSettings");
- intent.setComponent(cm);
- intent.setAction("android.intent.action.VIEW");
- activity.startActivityForResult(intent, 0);
- }
- }
package com.zhy.utils; import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo; /**
* 跟网络相关的工具类
*
*
*
*/
public class NetUtils
{
private NetUtils()
{
/* cannot be instantiated */
throw new UnsupportedOperationException("cannot be instantiated");
} /**
* 判断网络是否连接
*
* @param context
* @return
*/
public static boolean isConnected(Context context)
{ ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE); if (null != connectivity)
{ NetworkInfo info = connectivity.getActiveNetworkInfo();
if (null != info && info.isConnected())
{
if (info.getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
}
return false;
} /**
* 判断是否是wifi连接
*/
public static boolean isWifi(Context context)
{
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE); if (cm == null)
return false;
return cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_WIFI; } /**
* 打开网络设置界面
*/
public static void openSetting(Activity activity)
{
Intent intent = new Intent("/");
ComponentName cm = new ComponentName("com.android.settings",
"com.android.settings.WirelessSettings");
intent.setComponent(cm);
intent.setAction("android.intent.action.VIEW");
activity.startActivityForResult(intent, 0);
} }
10、Http相关辅助类 HttpUtils
- package com.zhy.utils;
- import java.io.BufferedReader;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.HttpURLConnection;
- import java.net.URL;
- /**
- * Http请求的工具类
- *
- * @author zhy
- *
- */
- public class HttpUtils
- {
- private static final int TIMEOUT_IN_MILLIONS = 5000;
- public interface CallBack
- {
- void onRequestComplete(String result);
- }
- /**
- * 异步的Get请求
- *
- * @param urlStr
- * @param callBack
- */
- public static void doGetAsyn(final String urlStr, final CallBack callBack)
- {
- new Thread()
- {
- public void run()
- {
- try
- {
- String result = doGet(urlStr);
- if (callBack != null)
- {
- callBack.onRequestComplete(result);
- }
- } catch (Exception e)
- {
- e.printStackTrace();
- }
- };
- }.start();
- }
- /**
- * 异步的Post请求
- * @param urlStr
- * @param params
- * @param callBack
- * @throws Exception
- */
- public static void doPostAsyn(final String urlStr, final String params,
- final CallBack callBack) throws Exception
- {
- new Thread()
- {
- public void run()
- {
- try
- {
- String result = doPost(urlStr, params);
- if (callBack != null)
- {
- callBack.onRequestComplete(result);
- }
- } catch (Exception e)
- {
- e.printStackTrace();
- }
- };
- }.start();
- }
- /**
- * Get请求,获得返回数据
- *
- * @param urlStr
- * @return
- * @throws Exception
- */
- public static String doGet(String urlStr)
- {
- URL url = null;
- HttpURLConnection conn = null;
- InputStream is = null;
- ByteArrayOutputStream baos = null;
- try
- {
- url = new URL(urlStr);
- conn = (HttpURLConnection) url.openConnection();
- conn.setReadTimeout(TIMEOUT_IN_MILLIONS);
- conn.setConnectTimeout(TIMEOUT_IN_MILLIONS);
- conn.setRequestMethod("GET");
- conn.setRequestProperty("accept", "*/*");
- conn.setRequestProperty("connection", "Keep-Alive");
- if (conn.getResponseCode() == 200)
- {
- is = conn.getInputStream();
- baos = new ByteArrayOutputStream();
- int len = -1;
- byte[] buf = new byte[128];
- while ((len = is.read(buf)) != -1)
- {
- baos.write(buf, 0, len);
- }
- baos.flush();
- return baos.toString();
- } else
- {
- throw new RuntimeException(" responseCode is not 200 ... ");
- }
- } catch (Exception e)
- {
- e.printStackTrace();
- } finally
- {
- try
- {
- if (is != null)
- is.close();
- } catch (IOException e)
- {
- }
- try
- {
- if (baos != null)
- baos.close();
- } catch (IOException e)
- {
- }
- conn.disconnect();
- }
- return null ;
- }
- /**
- * 向指定 URL 发送POST方法的请求
- *
- * @param url
- * 发送请求的 URL
- * @param param
- * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
- * @return 所代表远程资源的响应结果
- * @throws Exception
- */
- public static String doPost(String url, String param)
- {
- PrintWriter out = null;
- BufferedReader in = null;
- String result = "";
- try
- {
- URL realUrl = new URL(url);
- // 打开和URL之间的连接
- HttpURLConnection conn = (HttpURLConnection) realUrl
- .openConnection();
- // 设置通用的请求属性
- conn.setRequestProperty("accept", "*/*");
- conn.setRequestProperty("connection", "Keep-Alive");
- conn.setRequestMethod("POST");
- conn.setRequestProperty("Content-Type",
- "application/x-www-form-urlencoded");
- conn.setRequestProperty("charset", "utf-8");
- conn.setUseCaches(false);
- // 发送POST请求必须设置如下两行
- conn.setDoOutput(true);
- conn.setDoInput(true);
- conn.setReadTimeout(TIMEOUT_IN_MILLIONS);
- conn.setConnectTimeout(TIMEOUT_IN_MILLIONS);
- if (param != null && !param.trim().equals(""))
- {
- // 获取URLConnection对象对应的输出流
- out = new PrintWriter(conn.getOutputStream());
- // 发送请求参数
- out.print(param);
- // flush输出流的缓冲
- out.flush();
- }
- // 定义BufferedReader输入流来读取URL的响应
- in = new BufferedReader(
- new InputStreamReader(conn.getInputStream()));
- String line;
- while ((line = in.readLine()) != null)
- {
- result += line;
- }
- } catch (Exception e)
- {
- e.printStackTrace();
- }
- // 使用finally块来关闭输出流、输入流
- finally
- {
- try
- {
- if (out != null)
- {
- out.close();
- }
- if (in != null)
- {
- in.close();
- }
- } catch (IOException ex)
- {
- ex.printStackTrace();
- }
- }
- return result;
- }
- }
package com.zhy.utils; import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL; /**
* Http请求的工具类
*
* @author zhy
*
*/
public class HttpUtils
{ private static final int TIMEOUT_IN_MILLIONS = 5000; public interface CallBack
{
void onRequestComplete(String result);
} /**
* 异步的Get请求
*
* @param urlStr
* @param callBack
*/
public static void doGetAsyn(final String urlStr, final CallBack callBack)
{
new Thread()
{
public void run()
{
try
{
String result = doGet(urlStr);
if (callBack != null)
{
callBack.onRequestComplete(result);
}
} catch (Exception e)
{
e.printStackTrace();
} };
}.start();
} /**
* 异步的Post请求
* @param urlStr
* @param params
* @param callBack
* @throws Exception
*/
public static void doPostAsyn(final String urlStr, final String params,
final CallBack callBack) throws Exception
{
new Thread()
{
public void run()
{
try
{
String result = doPost(urlStr, params);
if (callBack != null)
{
callBack.onRequestComplete(result);
}
} catch (Exception e)
{
e.printStackTrace();
} };
}.start(); } /**
* Get请求,获得返回数据
*
* @param urlStr
* @return
* @throws Exception
*/
public static String doGet(String urlStr)
{
URL url = null;
HttpURLConnection conn = null;
InputStream is = null;
ByteArrayOutputStream baos = null;
try
{
url = new URL(urlStr);
conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(TIMEOUT_IN_MILLIONS);
conn.setConnectTimeout(TIMEOUT_IN_MILLIONS);
conn.setRequestMethod("GET");
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
if (conn.getResponseCode() == 200)
{
is = conn.getInputStream();
baos = new ByteArrayOutputStream();
int len = -1;
byte[] buf = new byte[128]; while ((len = is.read(buf)) != -1)
{
baos.write(buf, 0, len);
}
baos.flush();
return baos.toString();
} else
{
throw new RuntimeException(" responseCode is not 200 ... ");
} } catch (Exception e)
{
e.printStackTrace();
} finally
{
try
{
if (is != null)
is.close();
} catch (IOException e)
{
}
try
{
if (baos != null)
baos.close();
} catch (IOException e)
{
}
conn.disconnect();
} return null ; } /**
* 向指定 URL 发送POST方法的请求
*
* @param url
* 发送请求的 URL
* @param param
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return 所代表远程资源的响应结果
* @throws Exception
*/
public static String doPost(String url, String param)
{
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try
{
URL realUrl = new URL(url);
// 打开和URL之间的连接
HttpURLConnection conn = (HttpURLConnection) realUrl
.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
conn.setRequestProperty("charset", "utf-8");
conn.setUseCaches(false);
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setReadTimeout(TIMEOUT_IN_MILLIONS);
conn.setConnectTimeout(TIMEOUT_IN_MILLIONS); if (param != null && !param.trim().equals(""))
{
// 获取URLConnection对象对应的输出流
out = new PrintWriter(conn.getOutputStream());
// 发送请求参数
out.print(param);
// flush输出流的缓冲
out.flush();
}
// 定义BufferedReader输入流来读取URL的响应
in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null)
{
result += line;
}
} catch (Exception e)
{
e.printStackTrace();
}
// 使用finally块来关闭输出流、输入流
finally
{
try
{
if (out != null)
{
out.close();
}
if (in != null)
{
in.close();
}
} catch (IOException ex)
{
ex.printStackTrace();
}
}
return result;
}
}
如果大家在使用过程中出现什么错误,或者有更好的建议,欢迎大家留言提出~~可以不断的改进这些类~
ul.bottomBar>li .count{font-size:10px;line-height:12px;height:12px;padding:0px 2px;top:-3px;right:-8px;box-sizing:border-box;font-family:Arial, Helvetica, sans-serif;text-shadow:none;outline:none}.baiduServiceBottomBar.hackIFrame iframe{top:0px;-webkit-transform:translateZ(5px);transform:translateZ(5px)}.baiduServiceBottomBar{overflow:visible;line-height:1;border-top:1px solid #c0c0c0;position:fixed;z-index:10001;width:100%;bottom:0px;background-color:rgba(242,242,242,0.94);background-image:-moz-linear-gradient(rgba(248,248,248,0.94), rgba(242,242,242,0.94));background-image:-o-linear-gradient(rgba(248,248,248,0.94), rgba(242,242,242,0.94));background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(248,248,248,0.94)), color-stop(1, rgba(242,242,242,0.94)));background-image:-webkit-linear-gradient(rgba(248,248,248,0.94), rgba(242,242,242,0.94));background-image:-ms-linear-gradient(rgba(248,248,248,0.94), rgba(242,242,242,0.94));background-image:linear-gradient(rgba(248,248,248,0.94), rgba(242,242,242,0.94))}.baiduServiceBottomBar div{overflow:visible}.baiduServiceBottomBar div,.baiduServiceBottomBar span,.baiduServiceBottomBar object,.baiduServiceBottomBar iframe,.baiduServiceBottomBar h1,.baiduServiceBottomBar h2,.baiduServiceBottomBar h3,.baiduServiceBottomBar h4,.baiduServiceBottomBar h5,.baiduServiceBottomBar h6,.baiduServiceBottomBar p,.baiduServiceBottomBar a,.baiduServiceBottomBar em,.baiduServiceBottomBar img,.baiduServiceBottomBar b,.baiduServiceBottomBar i,.baiduServiceBottomBar dl,.baiduServiceBottomBar dt,.baiduServiceBottomBar dd,.baiduServiceBottomBar ol,.baiduServiceBottomBar ul,.baiduServiceBottomBar li,.baiduServiceBottomBar fieldset,.baiduServiceBottomBar form,.baiduServiceBottomBar label,.baiduServiceBottomBar table,.baiduServiceBottomBar caption,.baiduServiceBottomBar tbody,.baiduServiceBottomBar tfoot,.baiduServiceBottomBar thead,.baiduServiceBottomBar tr,.baiduServiceBottomBar th,.baiduServiceBottomBar td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline}.baiduServiceBottomBar p,.baiduServiceBottomBar div,.baiduServiceBottomBar h1,.baiduServiceBottomBar h2,.baiduServiceBottomBar h3,.baiduServiceBottomBar h4,.baiduServiceBottomBar h5,.baiduServiceBottomBar h6{-webkit-text-size-adjust:none}.baiduServiceBottomBar ul,.baiduServiceBottomBar li,.baiduServiceBottomBar a{vertical-align:middle}.baiduServiceBottomBar ol,.baiduServiceBottomBar ul{list-style:none;overflow:visible}.baiduServiceBottomBar .qingIcon{width:22px;height:22px;margin:10px auto;background-size:100% 100%}.baiduServiceBottomBar .qingBtn{width:48px;height:48px;background-color:#f8f8f8;border:1px solid #ddd}.baiduServiceBottomBar .qingIcon,.baiduServiceBottomBar .qingBtn{display:block}.baiduServiceBottomBar .baiduServiceBarFullScreanMask{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);-webkit-transform:scale(1);z-index:100000}.baiduServiceBottomBar .baiduServiceBarPopupContainer{position:fixed;z-index:100001;top:50%;left:50%;width:200px;height:225px;border-radius:5px;margin-left:-100px;margin-top:-125px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAADwCAYAAAB1/Tp/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEE4QURFMzMwNUQxMTFFNUFERkNDRDcwNjU5NEY0NUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEE4QURFMzQwNUQxMTFFNUFERkNDRDcwNjU5NEY0NUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowQThBREUzMTA1RDExMUU1QURGQ0NENzA2NTk0RjQ1QiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowQThBREUzMjA1RDExMUU1QURGQ0NENzA2NTk0RjQ1QiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PutlVx4AAGBkSURBVHja7F0HgBRF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") 50% top #f8f8f8 no-repeat;background-size:105px 120px}.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupClose{background-color:rgba(255,255,255,0);background-image:-moz-linear-gradient(#d0d0d0, rgba(255,255,255,0));background-image:-o-linear-gradient(#d0d0d0, rgba(255,255,255,0));background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #d0d0d0), color-stop(1, rgba(255,255,255,0)));background-image:-webkit-linear-gradient(#d0d0d0, rgba(255,255,255,0));background-image:-ms-linear-gradient(#d0d0d0, rgba(255,255,255,0));background-image:linear-gradient(#d0d0d0, rgba(255,255,255,0));position:absolute;right:30px;top:0;height:30px;width:1px;display:inline-block}.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupClose:before,.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupClose:after{content:" ";position:absolute;right:-16px;top:7px;width:1px;height:12px;display:inline-block;background:#262626;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg)}.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupClose:after{-webkit-transform:rotateZ(-45deg);transform:rotateZ(-45deg)}.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupCloseBtn{position:absolute;right:0;top:0;height:30px;width:30px}.baiduServiceBottomBar .baiduServiceBarPopupContainer span{width:100%;text-align:center;display:inline-block;position:absolute;top:125px;font-size:16px;color:#666}.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupInfo{top:150px;font-size:14px}.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupBottomContainer{position:absolute;bottom:0;left:0;width:100%;height:44px;line-height:44px;background:#eee;font-size:16px;color:#262626;border:none;padding:0;border-radius:0 0 5px 5px;border-top:1px solid #d8d8d8}.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupBottomContainer a{float:left;text-align:center;border:none;padding:0px;margin:0;padding-left:15px;display:inline-block;width:50%;height:42px}.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupBottomContainer .baiduServiceBarPopupTel{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAfCAYAAAD5h919AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjE1MjQ4RTEwNUQyMTFFNUJFMzRCMjk5NjI5RDYxRjEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjE1MjQ4RTIwNUQyMTFFNUJFMzRCMjk5NjI5RDYxRjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMTUyNDhERjA1RDIxMUU1QkUzNEIyOTk2MjlENjFGMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMTUyNDhFMDA1RDIxMUU1QkUzNEIyOTk2MjlENjFGMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvtU8CYAAAMcSURBVHjarJZriE1RFMfPuWe8G4brPTOYcBtvuhn5QENTTDJhJu/Xh2l8kURKmcizzMgXSSSFCEV88Za3MR9kIiGPlNwMmfkwuZcxHv9V/1Or0znH3Xdm1a+zzz77nHX23mv997JjsZgVYAPBJlAGhoGP4BDYD35bhpYV0F8BjoDeqq8A1IARYI2po4hP325wjk5+ggtgM69iVWB2e2dUw+USOwi2gibedwcloCfYAK5mOqNVyok4WKuciCXVrGaCwZk4ygUH2K4FOwPGn+XVoTNjR/LhbPAaVIeMvwVa2J5o6mgAWAb+crlaQ8b/4s+I9TN1NB90BhfBzf+M7wby2G4xjTp3rU+q/i7MFfloLybrH7CYiSx219TRaLYf8iqzuwRmhbx3T0Vg2kuXy7X/wr5Jysk7kFLjE2AbKDWVoSxGm7Y3dNyJMrSPyyUq8c3K0GRGzcyLQexrYhiLFXJvEu1x4jpyPxBX/ad4nWx1kImj52yXqv7znOkYU6kJc1TH9kLmicUAOAZsHhkd4shN0r5guXpWSyFdz8DwM8m3jQz3R9TLQr+BTjQabeRf9wfDwWHK0XeeSXMYEHc878qxcQNUgqEgHxTxvBK773VkMSfmUr8+gAY+rwcr6KxB6ZzYUb4jdobKXsCVEbWJUdbkpy2bNYOowSsOFLkZxRmJFXN5JY/KeeCNBc+4h6vBcY7NpqrMULK20jsjCfMF1DYJimscLDP8CuYxYBo5Ls6A2aFm2coyIM7aYgJ//KntqYIuK3kp8ezLLrBF3b/kB1M+ey/79xiMowAM8RYnldQ8h3+Wr55Vs3ARewsWBThxj31ZgTbQR5bf6yjBOi7JwLitzh/Xmbw4UiV6kL1XQp3nV27VM9x/MNwloaeo581p5mixUpUXkYBBV7hHnzkjScg9IMdADLbzKlH6wI06P5NoOUG9k2yfBtZx2SIM95Q6lxzmThVrwiKmgJQKSTuk9tYmleleMN7nWYrL3IP56Jrk3lKmhpWuI9emgiVgOpPWUc/amPTXwWnwJJ0iP8jqlNp3pdzkUEU+hZVq/wQYAMWrrzcqGuRcAAAAAElFTkSuQmCC") 27% 50% no-repeat;background-size:13px 15px}.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupBottomContainer .baiduServiceBarPopupTel:only-child{background-position:40% 50%;width:100%}.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupBottomContainer .baiduServiceBarPopupConsult{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTFFMEE0NkQwNUQyMTFFNUE5NEREQzBEQzA1REExNDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTFFMEE0NkUwNUQyMTFFNUE5NEREQzBEQzA1REExNDciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMUUwQTQ2QjA1RDIxMUU1QTk0RERDMERDMDVEQTE0NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMUUwQTQ2QzA1RDIxMUU1QTk0RERDMERDMDVEQTE0NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoHM7IEAAAFNSURBVHjaYlRTU9NgYGCYB8SWDLQDf4D4BBCnMgsLC28HMswZaAuYgFgOiC1ADCOoYAMQswMxI5UxyMw6qB3GjMAg/Q/lgCR+0ciHbED8E+ZVGPhFwyD9hRy2dAWjFtLNQh8gfgrEr6BsZOALxK+h8l5ocgFA/AyqzxubwcjZghFJ/DkQS0DZD4FYAUnuITQTw9RJIcm9AWJhKPslkhkg8B+fD/8jsf+hyf3DE2L/cJhBMEiToK4HBU8WmlwmVByEE/HoSyQlSGkB/o/mw1ELKbaQg4b2sCFb+AfKrqKRpRxQs8EFAygfHgYybAhoguVRLiBeDsTyQKxPhuWnQT5MAeJ9QPybgGKQZRuB2A+Ib5NoEcjs/UAcC/IhwdIBCLihlrkA8SYgDiW3ScJCpDqQJc6UWkZKtqCKZaRYSBXLiAnSi0D8g1qWgQBAgAEAgVRGMspf6MsAAAAASUVORK5CYII=") 25% 50% no-repeat;background-size:14px 14px}.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupBottomContainer .baiduServiceBarPopupConsult:only-child{background-position:40% 50%;width:100%}.baiduServiceBottomBar .baiduServiceBarPopupContainer .baiduServiceBarPopupBottomContainer .baiduServiceBarPopupTel+.baiduServiceBarPopupConsult{border-left:1px solid #d8d8d8}.baiduServiceBottomBar *{vertical-align:middle;box-sizing:border-box}.baiduServiceBottomBar .baidu-xn-pop-parent{position:relative}.baiduServiceBottomBar .baidu-xn-pop-container{position:absolute;bottom:100%;display:none;z-index:-90;width:113%;background-color:rgba(255,255,255,0.94);background-image:-moz-linear-gradient(rgba(255,255,255,0.94), rgba(255,255,255,0.94));background-image:-o-linear-gradient(rgba(255,255,255,0.94), rgba(255,255,255,0.94));background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(255,255,255,0.94)), color-stop(1, rgba(255,255,255,0.94)));background-image:-webkit-linear-gradient(rgba(255,255,255,0.94), rgba(255,255,255,0.94));background-image:-ms-linear-gradient(rgba(255,255,255,0.94), rgba(255,255,255,0.94));background-image:linear-gradient(rgba(255,255,255,0.94), rgba(255,255,255,0.94));left:initial !important;margin-left:-7px;border:1px solid #c0c0c0;border-radius:2px;box-shadow:0px 0px 4px 1px rgba(0,0,0,0.12);margin-bottom:12px;-webkit-transform:scale(1)}.baiduServiceBottomBar .baidu-xn-pop-container ul,.baiduServiceBottomBar .baidu-xn-pop-container li{list-style:none}.baiduServiceBottomBar .baidu-xn-pop-container ul{padding:0px 9px;height:auto}.baiduServiceBottomBar .baidu-xn-pop-container ul>li:not(:last-of-type){border-bottom:1px solid #dddddd}.baiduServiceBottomBar .baidu-xn-pop-container li.vote{height:43px}.baiduServiceBottomBar .baidu-xn-pop-container ul>li{height:36px}.baiduServiceBottomBar .baidu-xn-pop-container ul>li a{padding:1px 0;font-size:14px}.baiduServiceBottomBar .baidu-xn-pop-container.show,.baiduServiceBottomBar .show>.baidu-xn-pop-container{display:block;z-index:-90}.baiduServiceBottomBar .noDis{display:none !important}.baiduServiceBottomBar a{text-decoration:none;color:#001526;background-color:transparent}.baiduServiceBottomBar>ul{display:-webkit-box;display:-ms-flexbox;display:-moz-box;display:box;width:100%;list-style-type:none;padding:0px;margin:0px;-webkit-box-pack:center;-webkit-box-align:center;box-pack:center;box-align:center;border:0 #fafafb solid;border-width:1px 0 0 1px}.baiduServiceBottomBar>ul>li{display:block;width:3em;-webkit-box-flex:1;flex:1;-ms-flex:1;-moz-box-flex:1;text-align:center;font-size:10px}.baiduServiceBottomBar>ul>li a{font-size:16px;padding:6px 0px 4px;display:inline-block;width:100%;line-height:34px;height:43px;text-align:center;border:0;-webkit-tap-highlight-color:transparent}.baiduServiceBottomBar>ul>li a p>span.text-char{text-shadow:0 1px #fff}.baiduServiceBottomBar>ul>li a:hover{border-color:transparent}.baiduServiceBottomBar>ul>li .icon{width:18px;height:18px;display:block;margin:0px auto 4px;background-size:100% 100%;vertical-align:middle;position:relative}.baiduServiceBottomBar>ul>li .count-outer{position:relative;width:auto;display:inline-block;line-height:inherit}.baiduServiceBottomBar>ul>li .count{background-color:#f43b3b;color:#fff;border-radius:1px;padding:0px 2px;position:absolute;font-size:10px;line-height:12px;height:12px;top:-3px;right:-10px;font-style:normal;text-shadow:none;outline:none}.baiduServiceBottomBar>ul>li .baidu-xn-pop-container .count{top:3px}.baiduServiceBottomBar>ul li.showMoreBtn{display:none;position:relative}.baiduServiceBottomBar>ul .comment .count{right:-9px}.baiduServiceBottomBar>ul .pop-tip{-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg);width:6px;height:6px;z-index:300;top:-15px;left:-55%;position:absolute;border:1px solid #c0c0c0;background-color:rgba(255,255,255,0.94);display:none}.baiduServiceBottomBar>ul .pop-tip.align-right{margin-left:100%;border-left:0px;border-top:0px}@media only screen and (max-width: 400px){.baiduServiceBottomBar .show-more-buttons>li:nth-of-type(n+4),.baiduServiceBottomBar .show-more-buttons-lg>li:nth-of-type(n+4){display:none}.baiduServiceBottomBar .show-more-buttons>li.showMoreBtn,.baiduServiceBottomBar .show-more-buttons-lg>li.showMoreBtn{display:block}}@media only screen and (min-width: 400px) and (max-width: 480px){.baiduServiceBottomBar .show-more-buttons-lg>li:nth-of-type(n+5){display:none}.baiduServiceBottomBar .show-more-buttons-lg>li.showMoreBtn{display:block}}@media only screen and (max-device-width: 600px){.baiduServiceBottomBar #mobile-phone-detector{display:block}}.baiduServiceBottomBar [data-action=ecomBottomBar-vote]{position:relative}.baiduServiceBottomBar [data-action=ecomBottomBar-vote] .bd_vote{position:absolute;z-index:1;height:100%;width:100%;top:0px}.baiduServiceBottomBar [data-action=ecomBottomBar-vote] .text-char{display:inline-block;-webkit-transform:translateZ(0px);transform:translateZ(0px)}.baiduServiceBottomBar [data-action=ecomBottomBar-vote] .bd_vote iframe{position:relative}.baiduServiceBottomBar>ul.bottomBar>li:last-of-type .baidu-xn-pop-container{right:10px}.baiduServiceBottomBar>ul.bottomBar>li:first-of-type .baidu-xn-pop-container{left:8px !important;margin-left:0px}.baiduServiceBottomBar .baidu-xn-pop-parent:after{position:absolute;top:0px;left:50%;width:12px;height:3px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #c0c0c0;border-left:0px;border-right:0px;margin:6px 0px 6px -6px;content:""}.baiduServiceBottomBar .qingBtn{display:none}.baiduServiceBottomBar.showQingIconStyle.hideContent{border-top:transparent;width:auto}.baiduServiceBottomBar.showQingIconStyle.hideContent .qingBtn{display:block}.baiduServiceBottomBar.showQingIconStyle.hideContent .icon-container{display:none}.baiduServiceBottomBar.showQingIconStyle{display:-webkit-box;display:-ms-flexbox;display:-moz-box;-webkit-box-pack:center;-webkit-box-align:center;box-pack:center;box-align:center}.baiduServiceBottomBar.showQingIconStyle .qingBtn{display:block}.baiduServiceBottomBar.showQingIconStyle>ul.bottomBar>li:first-of-type .baidu-xn-pop-container{left:initial !important;margin-left:-10%}.baiduServiceBottomBar.showQingIconStyle [data-action=ecomBottomBar-showMore]{max-width:50px}.baiduServiceBottomBar.showQingIconStyle [data-action=ecomBottomBar-showMore] .baidu-xn-pop-container{width:180%}.baiduServiceBottomBar.showQingIconStyle [data-action=ecomBottomBar-showMore] .pop-tip.align-right{margin-left:120%}.baiduServiceBottomBar.showQingIconStyle.showContent{width:100%}.baiduServiceBottomBar.showQingIconStyle.showContent .qingBtn{border:1px solid transparent;border-right:1px solid #cdcdcd}.baiduServiceBottomBar.showQingIconStyle.showContent .icon-container{display:-webkit-box;display:-ms-flexbox;display:-moz-box;dislay:box;-webkit-box-flex:1;flex:1;-ms-flex:1;-moz-box-flex:1}.baiduServiceBottomBar.double-scale>ul.bottomBar>li a{line-height:68px;height:86px;font-size:32px;padding:12px 0 4px}.baiduServiceBottomBar.double-scale>ul.bottomBar>li .baidu-xn-pop-container{width:113%}.baiduServiceBottomBar.double-scale>ul.bottomBar>li .baidu-xn-pop-container ul{padding:0px 18px}.baiduServiceBottomBar.double-scale>ul.bottomBar>li .baidu-xn-pop-container ul>li{height:72px;line-height:60px;width:100%}.baiduServiceBottomBar.double-scale>ul.bottomBar>li .baidu-xn-pop-container ul>li a{padding:0px;line-height:72px;height:72px}.baiduServiceBottomBar.double-scale>ul.bottomBar>li .count{font-size:20px;line-height:20px;height:20px;padding:0 6px;top:6px;right:-20px;text-shadow:none;outline:none;border-radius:4px}.baiduServiceBottomBar.double-scale .baidu-xn-pop-parent:after{width:24px;height:6px;margin:12px 0 12px -12px;content:""}@media only screen and (max-width: 800px){.baiduServiceBottomBar.double-scale .show-more-buttons>li:nth-of-type(n+4),.baiduServiceBottomBar.double-scale .show-more-buttons-lg>li:nth-of-type(n+4){display:none}.baiduServiceBottomBar.double-scale .show-more-buttons>li.showMoreBtn,.baiduServiceBottomBar.double-scale .show-more-buttons-lg>li.showMoreBtn{display:block}}@media only screen and (min-width: 800px) and (max-width: 960px){.baiduServiceBottomBar.double-scale .show-more-buttons-lg>li:nth-of-type(n+5){display:none}.baiduServiceBottomBar.double-scale .show-more-buttons-lg>li.showMoreBtn{display:block}}.smb-user-guide-wrapper{position:fixed;z-index:9999;background:rgba(15,15,15,0.8);top:83px;width:238px;height:195px;left:50%;margin-left:-119px;border-radius:10px;font-size:14px;font-family:sans-serif}.smb-user-guide-wrapper .bg-pic{margin-top:24px;height:131px;background:url(//m.baidu.com/static/search/siteapp/lego/use_guide.png) center no-repeat;background-size:208px 131px}.smb-user-guide-wrapper .queryX{position:absolute;left:44px;top:90px}.smb-user-guide-wrapper .closeX{display:block;margin:8px auto;color:#fff;width:110px;height:25px;line-height:25px;text-align:center}.baiduServiceBarPopupShow .baiduServiceBarFullScreanMask,.baiduServiceBarPopupShow .baiduServiceBarPopupContainer{display:block}.baiduServiceBarFullScreanMask,.baiduServiceBarPopupContainer,.baiduServiceBarPopupHideLeft .baiduServiceBarFullScreanMask,.baiduServiceBarPopupHideRight .baiduServiceBarFullScreanMask{display:none}.baiduServiceBarPopupHideLeft .baiduServiceBarPopupContainer,.baiduServiceBarPopupHideRight .baiduServiceBarPopupContainer{animation-duration:1s;-webkit-animation-duration:1s;-webkit-animation-name:fadeOutDownRight;animation-name:fadeOutDownRight;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;transition:All 1s ease-in-out;-webkit-transition:All 1s ease-in-out}.baiduServiceBarPopupHideLeft .baiduServiceBarPopupContainer{-webkit-animation-name:fadeOutDownLeft;animation-name:fadeOutDownLeft}@-webkit-keyframes fadeOutDownLeft{0%{opacity:1}30%{opacity:.8;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 0px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 0px, 0)}100%{opacity:0;top:100%;left:5%;-webkit-transform:rotate(45deg) scale3d(0.1, 0.1, 0.1)}}@keyframes fadeOutDownLeft{0%{opacity:1}30%{opacity:.8;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 0px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 0px, 0)}100%{opacity:0;top:100%;left:5%;-webkit-transform:rotate(45deg) scale3d(0.1, 0.1, 0.1)}}@-webkit-keyframes fadeOutDownRight{0%{opacity:1}30%{opacity:.8;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 0px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 0px, 0)}100%{opacity:0;top:100%;left:95%;-webkit-transform:rotate(-45deg) scale3d(0.1, 0.1, 0.1)}}@keyframes fadeOutDownRight{0%{opacity:1}30%{opacity:.8;-webkit-transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 0px, 0);transform:scale3d(0.1, 0.1, 0.1) translate3d(0, 0px, 0)}100%{opacity:0;top:100%;left:95%;-webkit-transform:rotate(-45deg) scale3d(0.1, 0.1, 0.1)}}.baiduServiceBottomBar .bottomBar [data-action=ecomBottomBar-follow]{position:relative}.baiduServiceBottomBar .bottomBar [data-action=ecomBottomBar-follow] .bd_follow{background:transparent;position:absolute;width:100%;height:100%;top:0;left:0;z-index:2}.baiduServiceBottomBar .bottomBar [data-action=ecomBottomBar-follow] .bd_follow iframe{width:100%;height:100%;background:transparent}.baiduServiceBottomBar .bottomBar .ecomBottomBar-typek14 .cross-wrap{display:inline-block;width:15px;margin-right:4px}.baiduServiceBottomBar .bottomBar .ecomBottomBar-typek14 .cross-wrap .cross{display:inline-block;top:1px;background:#f43b3b;height:14px;position:relative;width:1px}.baiduServiceBottomBar .bottomBar .ecomBottomBar-typek14 .cross-wrap .cross:after{background:#f43b3b;content:"";height:1px;left:-7px;position:absolute;top:6px;width:15px}.baiduServiceBottomBar .bottomBar .ecomBottomBar-typek14 .text-char{color:#f43b3b}.baiduServiceBottomBar .bottomBar .ecomBottomBar-typek14 .text-char.followed{color:#999}.baiduServiceBottomBar .bottomBar .ecomBottomBar-typek4 .text-char.followed{color:#999}.baiduServiceBottomBar-toast-container{position:fixed;z-index:99999999;width:100%;bottom:50px;text-align:center}.baiduServiceBottomBar-toast-container .toast-text{min-width:40%;max-width:80%;overflow:hidden;word-break:break-all;word-wrap:nowrap;text-overflow:ellipsis;background-color:rgba(0,0,0,0.75);opacity:0;-webkit-transition:opacity 1s linear 0s;border-radius:5px;color:#fff;padding:10px;margin:0px auto;font-size:16px}.baiduServiceBottomBar-toast-container.show .toast-text{opacity:1}.baiduServiceBottomBar-toast-container.noDis{display:none !important}body,html{padding:0px;margin:0px}@font-face{font-family:bdServiceBarIconfont;src:url(data:application/x-font-ttf;charset=utf-8;base64,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) format("truetype")}.baiduServiceBottomBar .list.bottomMenu{display:-webkit-box;display:-ms-flexbox;display:-moz-box;display:box;width:100%}.baiduServiceBottomBar .list.bottomMenu .item{-webkit-box-flex:1;flex:1;-ms-flex:1;-moz-box-flex:1;box-flex:1}.baiduServiceBottomBar .list.bottomMenu .item a{display:inline-block;width:100%;line-height:34px;height:44px;text-align:center;font-size:10px;color:#1a1f26}.baiduServiceBottomBar .list.bottomMenu .item a .text-char{line-height:10px}.baiduServiceBottomBar .list.bottomMenu a .icon{bottom:initial;right:initial;z-index:inherit;background:initial;position:relative;display:block;width:auto;margin-top:6px;margin-bottom:6px;height:17px;background-size:contain}.baiduServiceBottomBar .list.bottomMenu a .icon .icon-wrapper{background:initial;position:relative;height:25px;width:25px;top:-10px;margin-left:auto;margin-right:auto}.baiduServiceBottomBar .list.bottomMenu a .icon .icon-wrapper div{line-height:34px}.baiduServiceBottomBar .bdServiceBarIconfont{font-family:"bdServiceBarIconfont" !important;font-size:24px;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:0.2px;-moz-osx-font-smoothing:grayscale}.baiduServiceBottomBar .list.bottomMenu [data-action=ecomBottomBar-follow]{position:relative}.baiduServiceBottomBar .list.bottomMenu [data-action=ecomBottomBar-follow] .bd_follow{background:transparent;position:absolute;width:100%;height:100%;top:0;left:0;z-index:2}.baiduServiceBottomBar .list.bottomMenu [data-action=ecomBottomBar-follow] .bd_follow iframe{width:100%;height:100%;background:transparent}@-webkit-keyframes heartbeat{0%{-moz-transform:scale(0.8, 0.8);-webkit-transform:scale(0.8, 0.8);-o-transform:scale(0.8, 0.8);-ms-transform:scale(0.8, 0.8);transform:scale(0.8, 0.8)}50%{-moz-transform:scale(1.2, 1.2);-webkit-transform:scale(1.2, 1.2);-o-transform:scale(1.2, 1.2);-ms-transform:scale(1.2, 1.2);transform:scale(1.2, 1.2)}100%{-moz-transform:scale(1, 1);-webkit-transform:scale(1, 1);-o-transform:scale(1, 1);-ms-transform:scale(1, 1);transform:scale(1, 1)}}.baiduServiceBottomBar .list.bottomMenu [data-action=ecomBottomBar-follow].strong .icon{-moz-animation-name:"heartbeat";-moz-animation-duration:600ms;-moz-animation-timing-function:linear;-moz-animation-delay:0s;-moz-animation-iteration-count:5;-moz-animation-direction:alternate;-ms-animation-name:"heartbeat";-ms-animation-duration:600ms;-ms-animation-timing-function:linear;-ms-animation-delay:0s;-ms-animation-iteration-count:5;-ms-animation-direction:alternate;-webkit-animation-name:"heartbeat";-webkit-animation-duration:600ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:5;-webkit-animation-direction:alternate;-o-animation-name:"heartbeat";-o-animation-duration:600ms;-o-animation-timing-function:linear;-o-animation-delay:0s;-o-animation-iteration-count:5;-o-animation-direction:alternate;animation-name:"heartbeat";animation-duration:600ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:5;animation-direction:alternate}@-webkit-keyframes spinMenuExpand4{0%{-moz-transform:translateY(174px);-webkit-transform:translateY(174px);-o-transform:translateY(174px);-ms-transform:translateY(174px);transform:translateY(174px)}100%{-moz-transform:translateY(0px);-webkit-transform:translateY(0px);-o-transform:translateY(0px);-ms-transform:translateY(0px);transform:translateY(0px)}}@-webkit-keyframes spinMenuCollapse4{0%{-moz-transform:translateY(0px);-webkit-transform:translateY(0px);-o-transform:translateY(0px);-ms-transform:translateY(0px);transform:translateY(0px)}100%{-moz-transform:translateY(174px);-webkit-transform:translateY(174px);-o-transform:translateY(174px);-ms-transform:translateY(174px);transform:translateY(174px)}}@-webkit-keyframes spinMenuExpand3{0%{-moz-transform:translateY(116px);-webkit-transform:translateY(116px);-o-transform:translateY(116px);-ms-transform:translateY(116px);transform:translateY(116px)}100%{-moz-transform:translateY(0px);-webkit-transform:translateY(0px);-o-transform:translateY(0px);-ms-transform:translateY(0px);transform:translateY(0px)}}@-webkit-keyframes spinMenuCollapse3{0%{-moz-transform:translateY(0px);-webkit-transform:translateY(0px);-o-transform:translateY(0px);-ms-transform:translateY(0px);transform:translateY(0px)}100%{-moz-transform:translateY(116px);-webkit-transform:translateY(116px);-o-transform:translateY(116px);-ms-transform:translateY(116px);transform:translateY(116px)}}@-webkit-keyframes spinMenuExpand2{0%{-moz-transform:translateY(58px);-webkit-transform:translateY(58px);-o-transform:translateY(58px);-ms-transform:translateY(58px);transform:translateY(58px)}100%{-moz-transform:translateY(0px);-webkit-transform:translateY(0px);-o-transform:translateY(0px);-ms-transform:translateY(0px);transform:translateY(0px)}}@-webkit-keyframes spinMenuCollapse2{0%{-moz-transform:translateY(0px);-webkit-transform:translateY(0px);-o-transform:translateY(0px);-ms-transform:translateY(0px);transform:translateY(0px)}100%{-moz-transform:translateY(58px);-webkit-transform:translateY(58px);-o-transform:translateY(58px);-ms-transform:translateY(58px);transform:translateY(58px)}}@-webkit-keyframes rotateForward{0%{-moz-transform:rotateY(0);-webkit-transform:rotateY(0);-o-transform:rotateY(0);-ms-transform:rotateY(0);transform:rotateY(0)}100%{-moz-transform:rotateY(-90deg);-webkit-transform:rotateY(-90deg);-o-transform:rotateY(-90deg);-ms-transform:rotateY(-90deg);transform:rotateY(-90deg)}}@-webkit-keyframes rotateBackward{0%{-moz-transform:rotateY(-90deg);-webkit-transform:rotateY(-90deg);-o-transform:rotateY(-90deg);-ms-transform:rotateY(-90deg);transform:rotateY(-90deg)}100%{-moz-transform:rotateY(0);-webkit-transform:rotateY(0);-o-transform:rotateY(0);-ms-transform:rotateY(0);transform:rotateY(0)}}@-webkit-keyframes rotateBackwardPositiveX{0%{-moz-transform:rotateX(90deg);-webkit-transform:rotateX(90deg);-o-transform:rotateX(90deg);-ms-transform:rotateX(90deg);transform:rotateX(90deg)}100%{-moz-transform:rotateX(0);-webkit-transform:rotateX(0);-o-transform:rotateX(0);-ms-transform:rotateX(0);transform:rotateX(0)}}@-webkit-keyframes rotateForwardPositiveX{0%{-moz-transform:rotateX(0);-webkit-transform:rotateX(0);-o-transform:rotateX(0);-ms-transform:rotateX(0);transform:rotateX(0)}100%{-moz-transform:rotateX(90deg);-webkit-transform:rotateX(90deg);-o-transform:rotateX(90deg);-ms-transform:rotateX(90deg);transform:rotateX(90deg)}}@-webkit-keyframes rotateForwardNegativeX{0%{-moz-transform:rotateX(0);-webkit-transform:rotateX(0);-o-transform:rotateX(0);-ms-transform:rotateX(0);transform:rotateX(0)}100%{-moz-transform:rotateX(-90deg);-webkit-transform:rotateX(-90deg);-o-transform:rotateX(-90deg);-ms-transform:rotateX(-90deg);transform:rotateX(-90deg)}}@-webkit-keyframes rotateBackwardNegativeX{0%{-moz-transform:rotateX(-90deg);-webkit-transform:rotateX(-90deg);-o-transform:rotateX(-90deg);-ms-transform:rotateX(-90deg);transform:rotateX(-90deg)}100%{-moz-transform:rotateX(0);-webkit-transform:rotateX(0);-o-transform:rotateX(0);-ms-transform:rotateX(0);transform:rotateX(0)}}.baiduServiceBottomBar .spinMenu.smb-expand.spinMenuExpand4 .items{-webkit-animation-name:spinMenuExpand4;-webkit-animation-duration:300ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:spinMenuExpand4;animation-duration:300ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}.baiduServiceBottomBar .spinMenu.smb-collapse.spinMenuCollapse4 .items{-webkit-animation-name:spinMenuCollapse4;-webkit-animation-duration:300ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:spinMenuCollapse4;animation-duration:300ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}.baiduServiceBottomBar .spinMenu.smb-expand.spinMenuExpand3 .items{-webkit-animation-name:spinMenuExpand3;-webkit-animation-duration:300ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:spinMenuExpand3;animation-duration:300ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}.baiduServiceBottomBar .spinMenu.smb-collapse.spinMenuCollapse3 .items{-webkit-animation-name:spinMenuCollapse3;-webkit-animation-duration:300ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:spinMenuCollapse3;animation-duration:300ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}.baiduServiceBottomBar .spinMenu.smb-expand.spinMenuExpand2 .items{-webkit-animation-name:spinMenuExpand2;-webkit-animation-duration:300ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:spinMenuExpand2;animation-duration:300ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}.baiduServiceBottomBar .spinMenu.smb-collapse.spinMenuCollapse2 .items{-webkit-animation-name:spinMenuCollapse2;-webkit-animation-duration:300ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:spinMenuCollapse2;animation-duration:300ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}.baiduServiceBottomBar .spinMenu.smb-expand .zhida-logo-cross{visibility:visible;opacity:1}.baiduServiceBottomBar .spinMenu.smb-expand .zhida-logo-logo{visibility:hidden;opacity:0}.baiduServiceBottomBar .spinMenu.smb-collapse .zhida-logo-cross{-webkit-backface-visibility:hidden;visibility:hidden;opacity:0}.baiduServiceBottomBar .spinMenu.smb-collapse .zhida-logo-logo{-webkit-backface-visibility:hidden;visibility:visible;opacity:1}.baiduServiceBottomBar .spinMenu.smb-expand.logoMenu-rotate .zhida-logo-cross{-webkit-animation-name:rotateBackwardNegativeX;-webkit-animation-duration:300ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:rotateBackwardNegativeX;animation-duration:300ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}.baiduServiceBottomBar .spinMenu.smb-expand.logoMenu-rotate .zhida-logo-logo{-webkit-animation-name:rotateForwardNegativeX;-webkit-animation-duration:300ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:rotateForwardNegativeX;animation-duration:300ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}.baiduServiceBottomBar .spinMenu.smb-collapse.logoMenu-rotate .zhida-logo-cross{-webkit-animation-name:rotateForwardNegativeX;-webkit-animation-duration:300ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:rotateForwardNegativeX;animation-duration:300ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}.baiduServiceBottomBar .spinMenu.smb-collapse.logoMenu-rotate .zhida-logo-logo{-webkit-animation-name:rotateBackwardNegativeX;-webkit-animation-duration:300ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:rotateBackwardNegativeX;animation-duration:300ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}.baiduServiceBottomBar .spinMenu.tagExpand .item .text-char{-webkit-animation-name:rotateBackward;-webkit-animation-duration:300ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:rotateBackward;animation-duration:300ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}.baiduServiceBottomBar .spinMenu.tagCollapse .item .text-char{-webkit-animation-name:rotateForward;-webkit-animation-duration:300ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:rotateForward;animation-duration:300ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}@-webkit-keyframes heartBeat{0%{-moz-transform:translateY(0px);-webkit-transform:translateY(0px);-o-transform:translateY(0px);-ms-transform:translateY(0px);transform:translateY(0px)}50%{-moz-transform:translateY(58px);-webkit-transform:translateY(58px);-o-transform:translateY(58px);-ms-transform:translateY(58px);transform:translateY(58px)}100%{-moz-transform:translateY(0px);-webkit-transform:translateY(0px);-o-transform:translateY(0px);-ms-transform:translateY(0px);transform:translateY(0px)}}.baiduServiceBottomBar .spinMenu.heartBeat .items .item:first-child{-webkit-animation-name:heartBeat;-webkit-animation-duration:500ms;-webkit-animation-timing-function:ease-in-out;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:heartBeat;animation-duration:500ms;animation-timing-function:ease-in-out;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}@-webkit-keyframes heartRotate{0%{-moz-transform:rotateY(0);-webkit-transform:rotateY(0);-o-transform:rotateY(0);-ms-transform:rotateY(0);transform:rotateY(0)}100%{-moz-transform:rotateY(360deg);-webkit-transform:rotateY(360deg);-o-transform:rotateY(360deg);-ms-transform:rotateY(360deg);transform:rotateY(360deg)}}.baiduServiceBottomBar .spinMenu.heartRotate .items .ecomBottomBar-typek4 .spinMenu-icon{-webkit-animation-name:heartRotate;-webkit-animation-duration:333ms;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:1;-webkit-animation-direction:normal;-webkit-animation-play-state:running;-webkit-animation-fill-mode:forwards;animation-name:heartRotate;animation-duration:333ms;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:1;animation-direction:normal;animation-play-state:running;animation-fill-mode:forwards}.baiduServiceBottomBar a{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.baiduServiceBottomBar .list.spinMenu{opacity:0.8}.baiduServiceBottomBar .list.spinMenu .ecomBottomBar-typek4.smbBDFollowed .spinMenu-icon{position:relative;top:2px}.baiduServiceBottomBar .list.spinMenu .ecomBottomBar-typek4 .spinMenu-icon{position:relative;top:1px}.baiduServiceBottomBar .list.spinMenu .spinMenu-icon{opacity:1}.baiduServiceBottomBar .list.spinMenu .zhida-logo{display:block;position:absolute;width:42px;height:42px;border-radius:21px;top:0;box-shadow:0px 2px 5px rgba(0,0,0,0.2)}.baiduServiceBottomBar .list.spinMenu .zhida-logo .spinMenu-icon{position:relative;top:2px;display:inline-block;line-height:42px;font-size:28px;height:42px;width:100%;vertical-align:middle;text-align:center}.baiduServiceBottomBar .list.spinMenu .zhidaLogo-wrapper{display:block;margin-top:18px;position:relative;width:42px;height:42px}.baiduServiceBottomBar .list.spinMenu .item{margin-top:18px}.baiduServiceBottomBar .list.spinMenu .item a{position:relative;display:inline-block}.baiduServiceBottomBar .list.spinMenu .item a .bd_follow{position:absolute;width:92px;height:40px;top:0}.baiduServiceBottomBar .list.spinMenu .item a .bd_follow iframe{width:100%;height:100%}.baiduServiceBottomBar .list.spinMenu .item .smartBar-icon{display:inline-block;width:40px;height:40px;border-radius:20px;box-shadow:0px 2px 5px rgba(0,0,0,0.2)}.baiduServiceBottomBar .list.spinMenu .item .smartBar-icon .spinMenu-icon{height:40px;line-height:40px;text-align:center}.baiduServiceBottomBar .list.spinMenu .item .text-char{position:relative;display:inline-block;width:40px;top:-2px;line-height:18px;height:18px;font-size:12px;border-radius:2px;text-align:center}.baiduServiceBottomBar .list.spinMenu .item .text-char .tag-arrow{z-index:-1;position:absolute;display:inline-block;font-size:44px}.baiduServiceBottomBar .list.spinMenu .item .text-char .tag-text{position:relative;line-height:19px;top:-1px}.baiduServiceBottomBar .spinMenu.left .zhida-logo{left:1px}.baiduServiceBottomBar .spinMenu.left .text-char{margin-left:12px;transform-origin:0% 0%;-webkit-transform-origin:0% 0%;-o-transform-origin:0% 0%;-ms-transform-origin:0% 0%;transform-origin:0% 0%}.baiduServiceBottomBar .spinMenu.left .text-char .tag-arrow{right:0px;top:1px}.baiduServiceBottomBar .spinMenu.right .zhida-logo{right:1px}.baiduServiceBottomBar .spinMenu.right .text-char{margin-right:12px;transform-origin:100% 100%;-webkit-transform-origin:100% 100%;-o-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}.baiduServiceBottomBar .spinMenu.right .text-char .tag-arrow{left:0px;top:1px}.baiduServiceBottomBar .spinMenu.right .zhida-logo{right:-52px}.baiduServiceBottomBar .spinMenu.expand .item{transition:opacity 50ms ease-in-out 0s}.baiduServiceBottomBar .spinMenu.collapsed .items .item:not(:first-child){opacity:0;z-index:-1;visibility:hidden}.baiduServiceBottomBar .spinMenu.collapsed .zhida-logo-cross,.baiduServiceBottomBar .spinMenu.smbCrossHide .zhida-logo-cross{visibility:hidden;opacity:0;-moz-transform:rotateX(-90deg);-webkit-transform:rotateX(-90deg);-o-transform:rotateX(-90deg);-ms-transform:rotateX(-90deg);transform:rotateX(-90deg)}.baiduServiceBottomBar .spinMenu.collapsed4 .items{-moz-transform:translateY(174px);-webkit-transform:translateY(174px);-o-transform:translateY(174px);-ms-transform:translateY(174px);transform:translateY(174px)}.baiduServiceBottomBar .spinMenu.collapsed3 .items{-moz-transform:translateY(116px);-webkit-transform:translateY(116px);-o-transform:translateY(116px);-ms-transform:translateY(116px);transform:translateY(116px)}.baiduServiceBottomBar .spinMenu.collapsed2 .items{-moz-transform:translateY(58px);-webkit-transform:translateY(58px);-o-transform:translateY(58px);-ms-transform:translateY(58px);transform:translateY(58px)}.baiduServiceBottomBar .spinMenu.collapsed1 .items{-moz-transform:translateY(0);-webkit-transform:translateY(0);-o-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.baiduServiceBottomBar .spinMenu.collapsed-fourth-child .items .item:nth-child(4){opacity:0;z-index:-1;visibility:hidden}.baiduServiceBottomBar .spinMenu.collapsed-third-child .items .item:nth-child(3),.baiduServiceBottomBar .spinMenu.collapsed-third-child .items .item:nth-child(4){opacity:0;z-index:-1;visibility:hidden}.baiduServiceBottomBar .spinMenu.collapsed-second-child .items .item:nth-child(3),.baiduServiceBottomBar .spinMenu.collapsed-second-child .items .item:nth-child(4),.baiduServiceBottomBar .spinMenu.collapsed-second-child .items .item:nth-child(2){opacity:0;z-index:-1;visibility:hidden}.baiduServiceBottomBar .spinMenu.tag-collapsed .item .text-char{-moz-transform:rotateY(-90deg);-webkit-transform:rotateY(-90deg);-o-transform:rotateY(-90deg);-ms-transform:rotateY(-90deg);transform:rotateY(-90deg)}.baiduServiceBottomBar.spinMenu-wrapper{background:none;line-height:normal;width:auto;bottom:45px;border:0}.baiduServiceBottomMenu-toast-container{position:fixed;z-index:99999999;width:100%;bottom:60px;text-align:center}.baiduServiceBottomMenu-toast-container .wrapper{position:relative;box-sizing:border-box;height:36px;min-width:40%;max-width:95%;color:#fff;background-color:rgba(0,0,0,0.75);opacity:0;-webkit-transition:opacity 1s linear 0s;border-radius:5px;padding:10px;margin:0px auto;font-size:14px;line-height:16px;font-family:"Microsoft Yahei"}.baiduServiceBottomMenu-toast-container .wrapper .toast-text{display:inline-block;min-width:40%;width:100%;overflow:hidden;word-break:break-all;word-wrap:nowrap;text-overflow:ellipsis;text-align:center}.baiduServiceBottomMenu-toast-container .wrapper .toast-text a{color:#0078da;text-decoration:none}.baiduServiceBottomMenu-toast-container .wrapper .close{width:25px;height:25px;background-color:transparent;display:inline-block;position:absolute;right:4px;top:6px;fill:#72867b}.baiduServiceBottomMenu-toast-container .arrow{top:100%;left:10%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:transparent;border-top-color:rgba(0,0,0,0.75);border-width:8px 8px 8px 8px;margin-left:-8px;opacity:0;-webkit-transition:opacity 1s linear 0s}.baiduServiceBottomMenu-toast-container .left .arrow{left:10%}.baiduServiceBottomMenu-toast-container .right .arrow{left:88%}.baiduServiceBottomMenu-toast-container.show .wrapper{opacity:1}.baiduServiceBottomMenu-toast-container.show .arrow{opacity:1}.baiduServiceBottomMenu-toast-container.noDis{display:none !important}
/*# sourceMappingURL=index.css.map */
/**
* 用于将 css 以内联 js 的形式插入到页面中去
*/
-->
关注
评价
分享
赞
- 更多
android 常用类的更多相关文章
- android 系统层 常用类介绍
类名 功能介绍 示意图 surfacemanager为应用程序显示2d和3d程序无缝结合 mediaFramework 基于packetvideocore 该库支持常见视频图片格式的回放和录放譬如mp ...
- android 框架层 常用类介绍
名称 功能描述 示意图 activitymanager 管理应用程序的周期并提供常用的回退功能 window manager 窗口管理者 content provider 用于访问另一个的数据,或者共 ...
- Android 常用开发工具以及Mac常用软件
Android 常用的开发工具记录.其中包括AndroidStudio(IDEA)插件.Mac 上好用的软件以及国内知名Android开发者博客等. Android Studio 插件 codota ...
- Android常用设计模式(二)
Android常用设计模式之观察者模式 观察者设计模式在Android应用中会经常用到,模式原理类似于这样的场景: 用户订报纸,然后在报社登记,报社来统计用户(添加用户),用户也可以取消订阅,报社删除 ...
- 【风马一族_Android】第4章Android常用基本控件
第4章Android常用基本控件 控件是Android用户界面中的一个个组成元素,在介绍它们之前,读者必须了解所有控件的父类View(视图),它好比一个盛放控件的容器. 4.1View类概述 对于一个 ...
- Android常用组件
UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...
- Android常用的物理按键及其触发事件
Activity和View都能接收触摸和按键,如果响应事件只需要在继承类里复写事件函数即可:当一个视图(如一个按钮)被触摸时,该对象上的 onTouchEvent() 方法会被调用.不过,为了侦听这个 ...
- Android 常用 adb 命令总结
Android 常用 adb 命令总结 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命 ...
- Android 常用代码大集合 [转]
[Android]调用字符串资源的几种方法 字符串资源的定义 文件路径:res/values/strings.xml 字符串资源定义示例: <?xml version="1.0&q ...
随机推荐
- media query学习笔记
原文转自:http://blog.csdn.net/renfufei/article/details/19981133 http://www.cnblogs.com/softlover/archive ...
- 基于OpenCv的人脸检测、识别系统学习制作笔记之二
在网上找到了一个博客,里面有大量内容适合初学者接触和了解人脸检测的博文,正好符合我目前的学习方面,故将链接放上来,后续将分类原博客的博文并加上学习笔记. 传送门: http://blog.sina.c ...
- By Yupei Zhang
Sparse Learning: Sparsity Learning (foundation) (1) Emergence of simple-cell receptive field propert ...
- JQuery学习(选择器-可见性-hidden)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- beetle 2.7海量消息广播测试
由于client资源限制,只进行了300物体互动广播测试:物体活动频率是每秒20次,服务器每秒转发的消息量大概180W条. 转发消息结构: class Po : IMessage { public i ...
- 重装Eclipse、离线安装ADT、Android SDK
由于最新的ADT.Android SDK需要最新版本的Eclipse才能使用,我无奈的只好升级Eclipse.看看自己的Eclipse已经两年没有升级了,也是时候升级了.升级前,有很多的顾虑.因为像这 ...
- 扯扯Java中Finalization的意义
这是Stack Overflow上关于Finalizetion意义的两段讨论,这两个观点是互为补充的. 观点1: 垃圾回收器(The garbage collector)自动在后台运行(虽然它也可以被 ...
- javascript和C#比较
C#和javascript有很多相似的地方,比如: 序列化 C#序列化 首先需要引用 using System.Web.Script.Serialization;//System.Web.Extens ...
- JS获取元素CSS值的各种方法分析
先来看一个实例:如何获取一个没有设置大小的字体? <!DOCTYPE html> <html lang="en"> <head> <met ...
- Linux内核如何装载和启动一个可执行程序
exec 本节我们分析exec系统调用的执行过程. exec一般和fork调用,常规用法是fork出一个子进程,然后在子进程中执行exec,替换为新的代码. do_exec 跟上次的fork类似,这里 ...