Java android.view.InflateException:二进制XML文件行#34:膨胀类AutoFitTextureView时出错
由于充气异常,我在某些设备上发生崩溃,我正在尝试充气一个名为AutoFitTextureView的自定义类,我收到以下Logcat消息:Java android.view.InflateException:二进制XML文件行#34:膨胀类AutoFitTextureView时出错,java,android,camera,binary,layout-inflater,Java,Android,Camera,Binary,Layout Inflater,由于充气异常,我在某些设备上发生崩溃,我正在尝试充气一个名为AutoFitTextureView的自定义类,我收到以下Logcat消息: android.view.InflateException: Binary XML file line #34: Binary XML file line #34: Error inflating class com.xscoder.pikky.AutoFitTextureView 我正在使用谷歌的Camera2基本代码来打开一个定制相机 这是我的squar
android.view.InflateException: Binary XML file line #34: Binary XML file line #34: Error inflating class com.xscoder.pikky.AutoFitTextureView
我正在使用谷歌的Camera2基本代码来打开一个定制相机
这是我的square\u camera.xml布局的一部分:
<com.xscoder.pikky.AutoFitTextureView
android:id="@+id/texture"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/sqcTopView"
android:layout_centerHorizontal="true"
android:background="#333"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
</com.xscoder.pikky.AutoFitTextureView>
我真的不知道怎么回事,因为如果我在一台真正的带有Android 6.0的华为Cam 21或带有Android 5.1的Quilive上运行我的应用程序,该应用程序根本不会崩溃,但在其他设备上,以及在一台Android 8.0模拟器上,它因该错误而崩溃。通过简单地编辑我的square\u camera.xml文件修复了该错误,如下所示:
<com.xscoder.pikky.AutoFitTextureView
android:id="@+id/texture"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/sqcTopView"
>
</com.xscoder.pikky.AutoFitTextureView>
有些Android设备似乎不处理自定义TextureView的附加属性,因此最好用Java编程设置属性:)
public class SquareCamera extends AppCompatActivity {
private AutoFitTextureView mTextureView;
...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.square_camera);
mTextureView = findViewById(R.id.texture);
<com.xscoder.pikky.AutoFitTextureView
android:id="@+id/texture"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/sqcTopView"
>
</com.xscoder.pikky.AutoFitTextureView>