android - كامل الشاشة تطبيق الروبوت




android-activity fullscreen (6)

لدي سؤالان:

  1. واحد كيف يمكنني تشغيل طلبي في كامل الشاشة
  2. كيف تشغيل مشغلات الفيديو أشرطة الفيديو في كامل الشاشة.

لقد حاولت الكثير و لا تزال تكافح لتحقيق هذا ولكن لا يمكن أن تجد حلا.

قائمة الحل وجدت ولكنهم لا يستوفون متطلبات بلدي

  • هذا يخفي فقط شريط الإعلام.

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    getWindow () setFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN، WindowManager.LayoutParams.FLAG_FULLSCREEN)؛

  • يخفي أيضا شريط الإعلام فقط

    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
  • فإنه ملامح منخفضة شريط التنقل لا يختبئ.

    . getWindow () getDecorView () setSystemUiVisibility (View.SYSTEM_UI_FLAG_LOW_PROFILE)؛

  • أي تأثير على نشاطي.

    anyView.setSystemUiVisibility (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION)؛

لاحظ أن:

  • أنا لا أتحدث عن تأصيل جهاز، لذا يرجى تقديم تلك الحلول التي يمكن أن تعمل دون استئصال الجهاز.
  • أنا لا أتحدث عن إخفاء شريط الإعلام فقط، ولكن ملء الشاشة عن طريق إخفاء شريط التنقل شريط الإعلام و أيضا.
  • أنا أتحدث عن هلام الفول أبي 4.1 أو أكبر من 4.1 نسخة من الروبوت
  • ويرجى إعطاء إجابات مع التعليمات البرمجية.

بعد بحثي و إجاباتك، أنا أحصل على هذا:

ولكن يجب أن يبدو التطبيق بلدي مثل هذا دون شريط التنقل:

أنا لا أريد شريط التنقل النظام مرئية في بلدي التطبيق.


أعتقد أنك غير قادر على إخفاء شريط النظام في الروبوت 4.0> (فقط في أقراص، في الهواتف يجب أن تكون قادرا على)

ما يمكنك القيام به هو إخفاء الرموز وتعطيل بعض الأزرار (الجميع باستثناء المنزل)

يمكنك تجربة هذا:

        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);              

        }

أيضا لتعطيل الأزرار:

هذا هو زر العودة:

  public boolean onKeyDown(int keyCode, KeyEvent event) {
    return false;
  }

هذا للقائمة:

@Override
public void onWindowFocusChanged(boolean hasFocus) {

        try
        {
           if(!hasFocus)
           {
                Object service  = getSystemService("statusbar");
                Class<?> statusbarManager = Class.forName("android.app.StatusBarManager");
                Method collapse = statusbarManager.getMethod("collapse");
                collapse .setAccessible(true);
                collapse .invoke(service);
           }
        }
        catch(Exception ex)
        {
        }

}

أنا جعلت 2 تخطيطات واحدة لحجم منتظم واحد للحصول على كامل الشاشة وداخل سكرين كامل أحصل على حجم الأجهزة وتعيينه لمشغل الفيديو

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getRealSize(size);
int w=size.x;
int h=size.y;
videoPlayer.setFixedSize(w, h);

انتقل إلى البيان الخاص بك وأضف هذا إلى نشاطك

<activity
        android:name="yourPackage.yourActivity"

        android:theme="@android:style/Theme.Black.NoTitleBar">

لست متأكدا مما كنت بعد، ولكن يخفي التالية شريط الإعلام، ومفاتيح التنقل لينة (كما رأينا على جوجل نيكزس الأجهزة)، وبالتالي فإن التطبيق هو أساسا "ملء الشاشة".

Edit2

في الروبوت 4.4 (أبي 19) قدم جوجل وضع غامرة الجديد الذي يمكن إخفاء حالة & نافبار والسماح لواجهة المستخدم ملء الشاشة حقا.

// This snippet hides the system bars.
private void hideSystemUI() {
    // Set the IMMERSIVE flag.
    // Set the content to appear under the system bars so that the content
    // doesn't resize when the system bars hide and show.
    mDecorView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
              | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
              | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
              | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
              | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
              | View.SYSTEM_UI_FLAG_IMMERSIVE);
}

// This snippet shows the system bars. It does this by removing all the flags
// except for the ones that make the content appear under the system bars.
private void showSystemUI() {
    mDecorView.setSystemUiVisibility(
               View.SYSTEM_UI_FLAG_LAYOUT_STABLE
             | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
             | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}

مرجع:
https://developer.android.com/training/system-ui/immersive.html

تصحيح:
اختبارها على الروبوت 4.3 (أبي 18) والروبوت 4.1 (أبي 16) مع مفاتيح التنقل لينة.

@Override
protected void onCreate(Bundle b) {
    super.onCreate(b);

    setContentView(R.layout.main);

    int mUIFlag = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LOW_PROFILE
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;

    getWindow().getDecorView().setSystemUiVisibility(mUIFlag);
}

لمزيد من المعلومات قراءة على http://developer.android.com/reference/android/view/View.html#setSystemUiVisibility(int)


-إخفاء شريط الحالة:

حل كبير وجدت لهذه المسألة، تعيين كل theme windowSoftInputMode إلى القيم التالية:

<activity   android:name=".MyActivity"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
            android:windowSoftInputMode="adjustResize">  <!-- theme : to set the activity to a full screen mode without a status bar(like in some games) -->
</activity>                                              <!-- windowSoftInputMode : to resize the activity so that it fits the condition of displaying a softkeyboard -->

لمزيد من المعلومات الرجوع هنا .

-إخفاء شريط الإعلام:

هناك طريقتان:

1- قم بجذر الجهاز الخاص بك، ثم افتح الجهاز في adb window command ، ثم قم بتشغيل ما يلي:

 adb shell >
 su >
 pm disable com.android.systemui >

والحصول عليه مرة أخرى تفعل الشيء نفسه فقط ولكن disable enable .

2- أضف السطر التالي إلى نهاية الملف build.prop الخاص بالجهاز:

qemu.hw.mainkeys = 1

ثم للحصول عليه مرة أخرى مجرد إزالته.

وإذا كنت لا تعرف كيفية تحرير ملف build.prop :

  • تحميل إيسكسلورر على جهازك والبحث عن build.prop ثم تغيير أذونات القراءة والكتابة، وأخيرا إضافة الخط.
  • تحميل المتخصصة build.prop محرر التطبيق مثل build.propEditor .
  • أو الرجوع إلى هذا الرابط .

الروبوت الإصدار: 4.2.2 - جهاز: فيغا اللوحي

الروبوت التطبيق لإخفاء الحالة ونظام بار وعرض الشاشة كاملة تابعت هذه الخطوات.

AndroidManifest.xml على

   <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

MainActivity.java

super.onCreate(savedInstanceState);
getWindow().getDecorView().setSystemUiVisibility(0x10);
setContentView(R.layout.activity_main);

فوق رمز عملت تماما لبلدي التطبيق.





android-fullscreen