我的应用程序应该包含一个相机预览表面。相机通过 AndroidMainfest.xml 固定为横向视图
<application android:icon="@drawable/icon"
android:label="Camera">
<uses-library android:name="com.google.android.maps" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<activity android:name=".CameraPreview"
android:label="Camera"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
如果有其他方法可以让相机预览本身正常运行,请告诉我。
现在我需要一个包含一堆按钮的覆盖层。由于可用性,用户界面应设置为纵向视图(甚至更好的方向感知)。
有没有办法在纵向上有一个透明的布局(用于按钮和其他 GUI 元素)?
我尝试通过扩展RelativeLayout 来编写一个特殊的旋转布局,但是onDraw 方法在任何时候都不会被调用。
public class RotatedOverlay extends RelativeLayout {
private static final String TAG = "RotatedOverlay";
public RotatedOverlay(Context context, AttributeSet attrs ) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.rotate(90);
super.onDraw(canvas);
}
我对 Android 平台编程很陌生。当然,我还不太了解编程技巧和解决方法。在过去的两周里,我做了很多研究(甚至研究了原生的相机实现),但到目前为止还没有找到好的解决方案。
也许它适用于两个单独的活动,但我认为这不是正确的解决方案。