Wie man ZXing barcode-scanner nicht im Vollbild, aber unter einem fragment
Habe ich gemacht ZXing im portrait-Modus. Nun werde ich machen, es wird unter einem fragment. Wie könnte ich das tun? Es ist einfach immer im Vollbild, das ist definitiv nicht das, was ich will.
Vielen Dank für irgendwelche Tipps oder Beispiel.
Wie seine Arbeit, aber es ist ein fragment, und es ist ein barcode-scanner.
QRCodeReader.java:
public class QRCodeReader extends Activity implements TopBar.OnFragmentInteractionListener, QRCodeReaderInner.OnFragmentInteractionListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.page_qrcodereader);
FragmentManager fm = getFragmentManager();
Fragment f = fm.findFragmentById(R.id.fragment_scanner);
if (f == null) {
f = QRCodeReaderInner.newInstance("param1", "param2");
fm.beginTransaction().add(R.id.fragment_scanner, f).commit();
}
}
...
}
page_qrcodereader.xml
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<fragment
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:name="com.innoasia.kaytami.innoasia.ui.generic.TopBar"
android:id="@+id/fragment" />
<fragment
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:name="com.innoasia.kaytami.innoasia.ui.page.QRCodeReaderInner"
android:id="@+id/fragment_scanner" />
</LinearLayout>
- Siehe meine Antwort - stackoverflow.com/a/45187963/1617737 - um eine ähnliche Frage.
- Ich machte-code für barcode erzeugen und barcode Scannen. Sie können Folgen Sie dieser ], um Schritt für Schritt den Code. stackoverflow.com/a/58742737/11613683
Du musst angemeldet sein, um einen Kommentar abzugeben.
Check this out:
Machen Sie YourActivity zu erweitern, die CaptureActivity. Es ist eine überschreibende Methode aufgerufen
handleDecode(Result rawResult, Bitmap barcode)
. Sie erhalten die gescannten Ergebnis hier.Fügen Sie den folgenden in
R.layout.scan_card
xml-Datei. Ich habe gerade die Breite und Höhe des scanbereichs zu "300dip" Anpassen, um Ihre eigene Größe.Stellen Sie sicher, dass Sie haved Hinzugefügt, die
Zxing Project
zu dem build-Pfad.Lassen Sie mich wissen, wenn Sie irgendwelche Fragen haben.
ScanCard
ist mein QRCode Scannen Aktivität, die QRCodeReader für Sie. Sie können den ` <include layout="@layout/capture" />`, um das xml, um die Bildschirm.IntentIntegrator
. Rufen Sie einfach einen gewöhnlichen Absicht. KeineonActivityResult
benötigt. Rufen Sie einfach ` startActivity(new Intent(yourActivity.diese,QRCodeReader.class); ` Und dann zeigen Sie den QR-code Scan-Bereich. Erhalten Sie das Ergebnis in ` handleDecode` - Methode. Legen Sie einfach eine toast-Nachricht inhandleDecode()
Methode. und erhalten Sie das Ergebnis.CaptureActivity
?Die einfachste Sache, die Sie tun können, ist zu ändern, die die capture.xml der ZXing-Bibliothek und stellen Sie die klicken Sie auf Rückruf, um Ihre Aktivitäten entweder durch startActivityForResult oder durch die Schaffung von Schnittstellen, die Rückrufe zu Ihrer Tätigkeit.
Hier ist ein kleines Beispiel, was ich Tat, um meinen Scanner schauen, wie es sich in einer TabActivity:
Lassen Sie mich wissen, wenn dies Ihnen hilft...