1、Chrome搜索技巧
2、Android启动优化
修改Activity主题,并给主题设置背景图片
3、Android全面屏适配、启动页适配、虚拟导航设置
全面屏下底部黑条解决办法
-
清单文件加入 android:resizeableActivity="true";
-
或者设置最大屏幕宽高比
<meta-data
android:name="android.max_aspect"
android:value="2.1" />
复制代码
blog.youkuaiyun.com/wqbs369/art…
4、RecyclerView之ItemDecoration
绘制分割线、绘制网格线、绘制首字母
5、Paint#drawText()
FontMetrics
public class FontView extends View {
String text = "ap爱哥┠№@↓";
private Paint mTextPaint;
private Paint mLinePaint;
private Paint.FontMetrics mFontMetrics;
public FontView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init();
}
public void init() {
mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mTextPaint.setStrokeWidth(3);
mTextPaint.setTextSize(70);
mTextPaint.setColor(Color.BLACK);
mFontMetrics = mTextPaint.getFontMetrics();
mLinePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mLinePaint.setStrokeWidth(1);
mLinePaint.setColor(Color.RED);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
float x = canvas.getWidth() * 1.0f / 2 - mTextPaint.measureText(text) / 2;
// 计算Baseline绘制的Y坐标:text从baseline开始绘制,需要下移baseline到text中线之间的距离
// + (d - a) / 2 - d == - (a + d) / 2
float y = canvas.getHeight() * 1.0f / 2 - (mFontMetrics.ascent + mFontMetrics.descent) / 2;
canvas.drawText(text, x, y, mTextPaint);
canvas.drawLine(0, canvas.getHeight() * 1.0f / 2, canvas.getWidth(), canvas.getHeight() * 1.0f / 2, mLinePaint);
}
}
复制代码