上部に 3 つのタブがある Android アプリケーションがあります。
最初のタブは「スキャン」で、バーコードをスキャンできるようにカメラが表示されます。
現在、zxing ライブラリでインテントを使用しています。問題は、カメラのプレビューが画面全体を占めることです。
カメラのプレビュー画面でも、タブを上部に保持したい。
この設定でそれを行うことは可能ですか?または、zxing のソース コードを含めて、そこにあるものを変更する必要がありますか?
上部に 3 つのタブがある Android アプリケーションがあります。
最初のタブは「スキャン」で、バーコードをスキャンできるようにカメラが表示されます。
現在、zxing ライブラリでインテントを使用しています。問題は、カメラのプレビューが画面全体を占めることです。
カメラのプレビュー画面でも、タブを上部に保持したい。
この設定でそれを行うことは可能ですか?または、zxing のソース コードを含めて、そこにあるものを変更する必要がありますか?
この設定でそれを行うことは可能ですか?NO
または、zxing のソース コードを含めて、そこにあるものを変更する必要がありますか? YES
しかし、そうすることはお勧めできません。
この設定でそれを行うことは可能ですか?
これを使用して Zxing ライブラリを制御できないためです。インテントと同様に、制御できない新しいアプリケーション「Zxing」を起動します。
これは、 ActivityGroupを使用することで可能になる場合があります。アプリケーションで他のインテントをホストできるようになります。
この記事は可能であり、このアプローチを使用するプロジェクトにリンクしていると述べているようです。
将来の証明のためのコード:
TabHost tabHost = getTabHost();
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("Player").setContent(
new Intent(this, PlayerActivity.class)));
tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("Archive").setContent(
new Intent(this, ArchiveGroup.class)));
tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("Updates").setContent(
new Intent(this, DownloadList.class)));
...
View view = getLocalActivityManager().startActivity("ArchiveActivity",
new Intent(this, ArchiveActivity.class)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
setContentView(view);
...
String album = (String) getListView().getItemAtPosition(position);
Intent intent = new Intent(getApplicationContext(), ArchiveAlbums.class);
intent.putExtra("album", album);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
View view = ArchiveGroup.group.getLocalActivityManager()
.startActivity("ShowPodcasts", intent).getDecorView();
ArchiveGroup.group.setContentView(view);