给TextureView添加边框(专业名词为描边),有三种解决方案:
1.设置一个9 patch 的,右边框,中间是空的PNG。
2.自定义一个View,用Canvas画个边框。
3.用Android提供的ShapeDrawable来定义一个边框。
个人比较建议采用第三种方式,原因是因为第三种只要写XML,速度快,占用资源小,代码编写量也少,便于维护。
使用方法如下:
1.定义一个background.xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="2dp"
android:color="#0000AA" />
</shape> <span></span>
2.在View的src设置背景时使用就可以了。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:src="@drawable/background"
android:padding="2dp">
<TextureView
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.android.camera.ui.RotateLayout
android:layout_width="wrap_content"
android:layout_width="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_width="wrap_content"
android:textColor="#FFFFFF"
android:textSize="22sp"
android:background="#0000000"/>
</com.android.camera.ui.RoateLayout>
</RelativeLayout>
需要注意的是我给TextureView的父容器RelativeLayout设置了Drawable,并设置了Padding。