1

私のアプリケーションは、カメラ プレビュー サーフェスを保持する必要があります。カメラは、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 プラットフォームのプログラミングにまったく慣れていません。もちろん、プログラミングのトリックや回避策についてはまだあまり知りません。過去 2 週間にわたって多くの調査を行いましたが (ネイティブの Camera 実装についても調査しました)、これまでのところ適切な解決策を見つけることができませんでした。

2つの別々のアクティビティで機能するかもしれませんが、これが正しい解決策になるとは思いません。

4

1 に答える 1

0

ViewGroup の子を回転させるには onDispatchDraw をオーバーライドする必要がありますが、他の問題が発生します (私の質問を参照してください) 。

于 2010-08-27T18:01:16.313 に答える