انجمن سایت کلیدستان



تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)زمان کنونی: ۱۳۹۵/۰۹/۱۷، ۰۶:۵۳ ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: khunires
آخرین ارسال: s.saeid
پاسخ 14
بازدید 2656

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#1
Brick 
سلام عزیزان...

سوالم اینه که میدونم چجوری webview تمام صفحه بشه ولی چیزی که نمیدونم اینه که چجوری حتی اون نوار بالارو هم بپرونم بره! هرکاری کردم نمیره :|

دقیقا این بخش سیاه که توش dddddd داره و لوگو آندروید! میخوام webView من کل صفحه رو بگیره! هیچی جز وب ویو معلوم نباشه!

   
 
پاسخ

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#2
سلام
کد زیر را در متد onCreate قرار دهید:

کد پی‌اچ‌پی:
requestWindowFeature(Window.FEATURE_NO_TITLE);
                    
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
 
پاسخ
 سپاس شده توسط khunires ، admin

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#3
با سلام .
برای پنهان کردن ActionBar درون متد OnCreate کد زیر رو می نویسیم :

کد پی‌اچ‌پی:
getSupportActionBar().hide(); 

اگر Min Sdk Version ای که برای app خودتون انتخاب کردین  11 یا بالاتر بود از کد زیر استفاده می کنیم :

کد پی‌اچ‌پی:
getActionBar().hide(); 

موفق باشید .
 *** بحث نکن ، به فکر راه حل باش  ***
پاسخ
 سپاس شده توسط khunires ، admin

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#4
(۱۳۹۴/۰۲/۱۷, ۰۹:۳۹ ب.ظ)'00Alireza00' نوشته: با سلام .
برای پنهان کردن ActionBar درون متد OnCreate کد زیر رو می نویسیم :
کد پی‌اچ‌پی:
getSupportActionBar().hide(); 
اگر Min Sdk Version ای که برای app خودتون انتخاب کردین  11 یا بالاتر بود از کد زیر استفاده می کنیم :
کد پی‌اچ‌پی:
getActionBar().hide(); 
موفق باشید .
 


(۱۳۹۴/۰۲/۱۷, ۰۹:۱۸ ب.ظ)'ramtin2080' نوشته: سلام
کد زیر را در متد onCreate قرار دهید:
کد پی‌اچ‌پی:
requestWindowFeature(Window.FEATURE_NO_TITLE);
                    
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 


 





 

 

 


 


دوستان واقعا ممنونم ازتون...

ولی این oncrate توی بخش javaی mainactivity باید بزارم؟
اگه اونجاس که ارور میده!

غیر اینکه ارورش رو حل میکنم بسته Apk میشه نصب هم میشه ولی باز نمیشه اپ! ولی این کدهایی که دادین رو پاک میکنم از توی کدها اجرا میشه اپ!
چرا!؟

خیلی نیاز دارم به این کمکتون Sad ممنونم...

 
پاسخ

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#5
یک راه دیگه هم داره و  اون استفاده کردن از :

کد پی‌اچ‌پی:
android:theme="@android:style/Theme.NoTitleBar" 

بقیه راه ها هم در لینک های زیر گفته شده :

http://stackoverflow.com/questions/25863...-actionbar

http://stackoverflow.com/questions/28680...in-android
پاسخ
 سپاس شده توسط admin ، khunires

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#6
با سلام .
به این نکته توجه کنید که اون کدهایی رو که من گفتم ، باید جداگانه درون هر Activity که میخواین ActionBar اش حذف بشه قرار بدین .(داخل متد onCreate)
آره باید داخل فایل جاوای هر اکتیویتی که می خواین ActionBar اش حدف بشه قرار بدین.
چون من کدهای شما رو ندیدم نمی تونم نظر خاصی بدم واسه همین یه app با یه اکتیویتی ساختم و توش یه وب ویو تمام صفحه قرار دادم و اکشن بار رو هم با همون روش خودم حدف کردم ، کدهاش رو میزارم شما یه نگاهی بنداز ، ببین شاید جایی رو از قلم انداخته باشین :

کد پی‌اچ‌پی:
package com.example1.test;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;


public class 
MainActivity extends ActionBarActivity {

    @
Override
   
protected void onCreate(Bundle savedInstanceState) {       قرار دادم onCreateکد حذف اکشن بار رو داخل متد                                        
        super
.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
getSupportActionBar().hide();   با این کد اکشن بار رو حذف کردم                               
        
       
//نمایش وب ویو
           WebView m = (WebViewfindViewById(R.id.webView1);
           
m.loadUrl("file:///android_asset/HTML.html");     مورد نظرم رو نمایش دادم HTML با این دوتا خط کد هم فایل
    
}


    @
Override
    
public boolean onCreateOptionsMenu(Menu menu) {
        
// Inflate the menu; this adds items to the action bar if it is present.
        
getMenuInflater().inflate(R.menu.mainmenu);
        return 
true;
    }

    @
Override
    
public boolean onOptionsItemSelected(MenuItem item) {
        
// Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        
int id item.getItemId();
        if (
id == R.id.action_settings) {
            return 
true;
        }
        return 
super.onOptionsItemSelected(item);
    }


این هم نتیجه کار :


فایل‌های پیوست

عکس(ها)
   
 *** بحث نکن ، به فکر راه حل باش  ***
پاسخ
 سپاس شده توسط admin ، khunires

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#7
(۱۳۹۴/۰۲/۱۸, ۱۰:۲۳ ق.ظ)'00Alireza00' نوشته: با سلام .
به این نکته توجه کنید که اون کدهایی رو که من گفتم ، باید جداگانه درون هر Activity که میخواین ActionBar اش حذف بشه قرار بدین .(داخل متد onCreate)
آره باید داخل فایل جاوای هر اکتیویتی که می خواین ActionBar اش حدف بشه قرار بدین.
چون من کدهای شما رو ندیدم نمی تونم نظر خاصی بدم واسه همین یه app با یه اکتیویتی ساختم و توش یه وب ویو تمام صفحه قرار دادم و اکشن بار رو هم با همون روش خودم حدف کردم ، کدهاش رو میزارم شما یه نگاهی بنداز ، ببین شاید جایی رو از قلم انداخته باشین :

کد پی‌اچ‌پی:
package com.example1.test;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;


public class 
MainActivity extends ActionBarActivity {

    @
Override
   
protected void onCreate(Bundle savedInstanceState) {       قرار دادم onCreateکد حذف اکشن بار رو داخل متد                                        
        super
.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
getSupportActionBar().hide();   با این کد اکشن بار رو حذف کردم                               
        
       
//نمایش وب ویو
           WebView m = (WebViewfindViewById(R.id.webView1);
           
m.loadUrl("file:///android_asset/HTML.html");     مورد نظرم رو نمایش دادم HTML با این دوتا خط کد هم فایل
    
}


    @
Override
    
public boolean onCreateOptionsMenu(Menu menu) {
        
// Inflate the menu; this adds items to the action bar if it is present.
        
getMenuInflater().inflate(R.menu.mainmenu);
        return 
true;
    }

    @
Override
    
public boolean onOptionsItemSelected(MenuItem item) {
        
// Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        
int id item.getItemId();
        if (
id == R.id.action_settings) {
            return 
true;
        }
        return 
super.onOptionsItemSelected(item);
    }


این هم نتیجه کار :

 


هنوز یجا مشکل داره :
کد پی‌اچ‌پی:
public class MainActivity extends ActionBarActivity 
اینجا extend شده به actionbaractivity که باید تغییرش داد به activity
 همچنین ، در actionbar نباید menu قرار بگیره و باید با پوشه و کد حذف کنید بطور کلی :
کد پی‌اچ‌پی:
public class MainActivity extends Activity {

    @
Override
   
protected void onCreate(Bundle savedInstanceState) {       قرار دادم onCreateکد حذف اکشن بار رو داخل متد                                        
        super
.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
getSupportActionBar().hide();   با این کد اکشن بار رو حذف کردم                               
        
       
//نمایش وب ویو
           
WebView m = (WebViewfindViewById(R.id.webView1);
           
m.loadUrl("file:///android_asset/HTML.html");     مورد نظرم رو نمایش دادم HTML با این دوتا خط کد هم فایل
    
}


پاسخ
 سپاس شده توسط khunires

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#8
(۱۳۹۴/۰۲/۱۸, ۱۰:۲۳ ق.ظ)'00Alireza00' نوشته: با سلام .
به این نکته توجه کنید که اون کدهایی رو که من گفتم ، باید جداگانه درون هر Activity که میخواین ActionBar اش حذف بشه قرار بدین .(داخل متد onCreate)
آره باید داخل فایل جاوای هر اکتیویتی که می خواین ActionBar اش حدف بشه قرار بدین.
چون من کدهای شما رو ندیدم نمی تونم نظر خاصی بدم واسه همین یه app با یه اکتیویتی ساختم و توش یه وب ویو تمام صفحه قرار دادم و اکشن بار رو هم با همون روش خودم حدف کردم ، کدهاش رو میزارم شما یه نگاهی بنداز ، ببین شاید جایی رو از قلم انداخته باشین :

کد پی‌اچ‌پی:
package com.example1.test;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;


public class 
MainActivity extends ActionBarActivity {

    @
Override
   
protected void onCreate(Bundle savedInstanceState) {       قرار دادم onCreateکد حذف اکشن بار رو داخل متد                                        
        super
.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
getSupportActionBar().hide();   با این کد اکشن بار رو حذف کردم                               
        
       
//نمایش وب ویو
           WebView m = (WebViewfindViewById(R.id.webView1);
           
m.loadUrl("file:///android_asset/HTML.html");     مورد نظرم رو نمایش دادم HTML با این دوتا خط کد هم فایل
    
}


    @
Override
    
public boolean onCreateOptionsMenu(Menu menu) {
        
// Inflate the menu; this adds items to the action bar if it is present.
        
getMenuInflater().inflate(R.menu.mainmenu);
        return 
true;
    }

    @
Override
    
public boolean onOptionsItemSelected(MenuItem item) {
        
// Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        
int id item.getItemId();
        if (
id == R.id.action_settings) {
            return 
true;
        }
        return 
super.onOptionsItemSelected(item);
    }


این هم نتیجه کار :



 







عزیز ممنونم ازتون...
من عیناً کدهای شمارو کپی کردم گذاشتم هیچ خطایی نداره و اوکیه ولی برنامه باز نمیشه بازم
میشه خواهش کنم سورس تست رو قرار بدید؟ ممنونم ازتون

 

 
پاسخ

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#9
(۱۳۹۴/۰۲/۱۸, ۰۱:۴۳ ب.ظ)'am5152' نوشته:
(۱۳۹۴/۰۲/۱۸, ۱۰:۲۳ ق.ظ)'00Alireza00' نوشته: با سلام .
به این نکته توجه کنید که اون کدهایی رو که من گفتم ، باید جداگانه درون هر Activity که میخواین ActionBar اش حذف بشه قرار بدین .(داخل متد onCreate)
آره باید داخل فایل جاوای هر اکتیویتی که می خواین ActionBar اش حدف بشه قرار بدین.
چون من کدهای شما رو ندیدم نمی تونم نظر خاصی بدم واسه همین یه app با یه اکتیویتی ساختم و توش یه وب ویو تمام صفحه قرار دادم و اکشن بار رو هم با همون روش خودم حدف کردم ، کدهاش رو میزارم شما یه نگاهی بنداز ، ببین شاید جایی رو از قلم انداخته باشین :

کد پی‌اچ‌پی:
package com.example1.test;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;


public class 
MainActivity extends ActionBarActivity {

    @
Override
   
protected void onCreate(Bundle savedInstanceState) {       قرار دادم onCreateکد حذف اکشن بار رو داخل متد                                        
        super
.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
getSupportActionBar().hide();   با این کد اکشن بار رو حذف کردم                               
        
       
//نمایش وب ویو
           WebView m = (WebViewfindViewById(R.id.webView1);
           
m.loadUrl("file:///android_asset/HTML.html");     مورد نظرم رو نمایش دادم HTML با این دوتا خط کد هم فایل
    
}


    @
Override
    
public boolean onCreateOptionsMenu(Menu menu) {
        
// Inflate the menu; this adds items to the action bar if it is present.
        
getMenuInflater().inflate(R.menu.mainmenu);
        return 
true;
    }

    @
Override
    
public boolean onOptionsItemSelected(MenuItem item) {
        
// Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        
int id item.getItemId();
        if (
id == R.id.action_settings) {
            return 
true;
        }
        return 
super.onOptionsItemSelected(item);
    }


این هم نتیجه کار :



 


هنوز یجا مشکل داره :
کد پی‌اچ‌پی:
public class MainActivity extends ActionBarActivity 
اینجا extend شده به actionbaractivity که باید تغییرش داد به activity
 همچنین ، در actionbar نباید menu قرار بگیره و باید با پوشه و کد حذف کنید بطور کلی :
کد پی‌اچ‌پی:
public class MainActivity extends Activity {

    @
Override
   
protected void onCreate(Bundle savedInstanceState) {       قرار دادم onCreateکد حذف اکشن بار رو داخل متد                                        
        super
.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
getSupportActionBar().hide();   با این کد اکشن بار رو حذف کردم                               
        
       
//نمایش وب ویو
           
WebView m = (WebViewfindViewById(R.id.webView1);
           
m.loadUrl("file:///android_asset/HTML.html");     مورد نظرم رو نمایش دادم HTML با این دوتا خط کد هم فایل
    
}




 


عزیز وقتی سورس رو به سبک گفته شما تغییر میدم به کل تمام بخش جاوا خطا میگیره! تستش کردید؟
 

 
پاسخ

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#10
نقل قول:
عزیز وقتی سورس رو به سبک گفته شما تغییر میدم به کل تمام بخش جاوا خطا میگیره! تستش کردید؟
 
بعضی چیزا هست که خودتون باید یاد بگیرید.مثلا import کردن activity و موارد دیگه که میشه تو ایکلیپس براحتی بقیه رو ایمپورت کرد.
مورد بالا هم مثال بود که اشتباهات دوستمون رو اصلاح کردم و ممکنه نیازی به getSupportActionBar().hide();
هم نباشه !
دقت کنید که بعضی تغییرات رو هم در androidmanifest و value - styles هم باید انجام بدید.
بر فرض مثال فقط در styles و مانیفست این دو رو هم که تعریف کنید حل میشه :
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
manifest :
android:theme="@androidConfusedtyle/Theme.NoTitleBar.Fullscreen
 
و نیازی به کد بیخودی جاوا هم نیست...
پاسخ
 سپاس شده توسط khunires ، admin

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#11
نقل قول:هنوز یجا مشکل داره :
کد پی‌اچ‌پی:
public class MainActivity extends ActionBarActivity 
اینجا extend شده به actionbaractivity که باید تغییرش داد به activity
 همچنین ، در actionbar نباید menu قرار بگیره و باید با پوشه و کد حذف کنید بطور کلی :
کد پی‌اچ‌پی:
public class MainActivity extends Activity {

    @
Override
   
protected void onCreate(Bundle savedInstanceState) {       قرار دادم onCreateکد حذف اکشن بار رو داخل متد                                        
        super
.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
getSupportActionBar().hide();   با این کد اکشن بار رو حذف کردم                               
        
       
//نمایش وب ویو
           
WebView m = (WebViewfindViewById(R.id.webView1);
           
m.loadUrl("file:///android_asset/HTML.html");     مورد نظرم رو نمایش دادم HTML با این دوتا خط کد هم فایل
    
}


 


لازمه یه سری توضیحات رو  اینجا متذکر بشم:

اینکه Activity مورد نظر ما در اینجا یا هرجای دیگه از کلاس Activity ارث بری (extends) کنه یا از کلاس ActionBarActivity برای ما ابداً مشکل ساز نخواهد بود ! (بستگی به قابلیت هایی داره که میخوایم app ما داشته باشه که در زیر توضیح میدم)
چرا ؟
برای پاسخ به این " چرا " توجهتون رو جلب می کنم به تفاوت کلاس های  Activity  و ActionBarActivity :
وقتی  اکتیویتی ما extends  میکنه از کلاس ActionBarActivity  این قابلیت رو خواهیم داشت که در هر API ما  ActionBar رو داشته باشیم .(API>=7)
اما وقتی اکتیویتی ما extends میکنه از کلاس Activity قابلیت داشتن ActionBar رو تنها در API های بالاتر از 11 خواهیم داشت ، به عبارتی در API های پایین تر از 11 شما ActionBar ای در app خود نخواهید داشت .(چون ActionBar از API 11 به بالا معرفی شد)

پس ActionBar یک قابلیت ذاتی برای کلاس های Activity(در API های بالاتر از 11)  و ActionBarActivity خواهد بود .
واسه همین اکتیویتی شما از هرکدام که extends کنه شما ActionBar رو خواهید داشت و واسه حذف کردنش باید یکی از روش ها رو انتخاب کنید .(مگر اینکه برایAPI های زیر 11 از کلاس Activity ارث بری کرده باشین که در این حالت ActionBar ای نخواهید داشت که بخواین حذفش کنین) 

-- چونکه من همیشه Min Sdk رو 8 می گیرم (چونکه میخوام اکثر گوشی ها رو ساپورت کنم ) بنابراین از کلاس ActionBarActivity ارث بری می کنم تا API های زیر 11 هم دارای ActionBar باشن ، پس دیدیم که extends  کردن از ActionBarActivity   ابداً اشتباه نیست بلکه دست شما رو برای طراحی هرچه حرفه ای تر app باز خواهد گذاشت .

در مورد menu هم بماند...


حالا این وسط انتخاب روشی که ActionBar رو حذف کنه به انتخاب برنامه نویس هست و اینکه کدوم روش کارش رو راه میندازه ، خیلی ها روش های اصولی رو انتخاب می کنن ،بعضی ها روش های میانبر و ...
من خودم چون از روش  AndroidManifest نتیجه دلخواهم رو نگرفتم از کد جاوا استفاده می کنم که اکثرا بهترین نتیجه رو واسه من داشته .

موفق باشید .
 *** بحث نکن ، به فکر راه حل باش  ***
پاسخ
 سپاس شده توسط khunires ، admin

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#12

دانلود Test.zip

نام فایل Test.zip
نوع فایل .zip
دفعات دانلود 124
اندازه 1.25 MB
ارسال کننده فایل 00Alireza00

(۱۳۹۴/۰۲/۱۸, ۰۴:۱۷ ب.ظ)'khunires' نوشته:
(۱۳۹۴/۰۲/۱۸, ۱۰:۲۳ ق.ظ)'00Alireza00' نوشته: با سلام .
به این نکته توجه کنید که اون کدهایی رو که من گفتم ، باید جداگانه درون هر Activity که میخواین ActionBar اش حذف بشه قرار بدین .(داخل متد onCreate)
آره باید داخل فایل جاوای هر اکتیویتی که می خواین ActionBar اش حدف بشه قرار بدین.
چون من کدهای شما رو ندیدم نمی تونم نظر خاصی بدم واسه همین یه app با یه اکتیویتی ساختم و توش یه وب ویو تمام صفحه قرار دادم و اکشن بار رو هم با همون روش خودم حدف کردم ، کدهاش رو میزارم شما یه نگاهی بنداز ، ببین شاید جایی رو از قلم انداخته باشین :

کد پی‌اچ‌پی:
package com.example1.test;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;


public class 
MainActivity extends ActionBarActivity {

    @
Override
   
protected void onCreate(Bundle savedInstanceState) {       قرار دادم onCreateکد حذف اکشن بار رو داخل متد                                        
        super
.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
getSupportActionBar().hide();   با این کد اکشن بار رو حذف کردم                               
        
       
//نمایش وب ویو
           WebView m = (WebViewfindViewById(R.id.webView1);
           
m.loadUrl("file:///android_asset/HTML.html");     مورد نظرم رو نمایش دادم HTML با این دوتا خط کد هم فایل
    
}


    @
Override
    
public boolean onCreateOptionsMenu(Menu menu) {
        
// Inflate the menu; this adds items to the action bar if it is present.
        
getMenuInflater().inflate(R.menu.mainmenu);
        return 
true;
    }

    @
Override
    
public boolean onOptionsItemSelected(MenuItem item) {
        
// Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        
int id item.getItemId();
        if (
id == R.id.action_settings) {
            return 
true;
        }
        return 
super.onOptionsItemSelected(item);
    }


این هم نتیجه کار :






 







عزیز ممنونم ازتون...
من عیناً کدهای شمارو کپی کردم گذاشتم هیچ خطایی نداره و اوکیه ولی برنامه باز نمیشه بازم
میشه خواهش کنم سورس تست رو قرار بدید؟ ممنونم ازتون

 

 



 


با سلام .
باید با دقت بیشتری دنبال ایراد کار باشین ....
سورس رو پیوست کردم .
 

 

 
 *** بحث نکن ، به فکر راه حل باش  ***
پاسخ
 سپاس شده توسط khunires ، admin

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#13
نقل قول:
نقل قول: 
لازمه یه سری توضیحات رو  اینجا متذکر بشم:

اینکه Activity مورد نظر ما در اینجا یا هرجای دیگه از کلاس Activity ارث بری (extends) کنه یا از کلاس ActionBarActivity برای ما ابداً مشکل ساز نخواهد بود ! (بستگی به قابلیت هایی داره که میخوایم app ما داشته باشه که در زیر توضیح میدم)
چرا ؟
برای پاسخ به این " چرا " توجهتون رو جلب می کنم به تفاوت کلاس های  Activity  و ActionBarActivity :
وقتی  اکتیویتی ما extends  میکنه از کلاس ActionBarActivity  این قابلیت رو خواهیم داشت که در هر API ما  ActionBar رو داشته باشیم .(API>=7)
اما وقتی اکتیویتی ما extends میکنه از کلاس Activity قابلیت داشتن ActionBar رو تنها در API های بالاتر از 11 خواهیم داشت ، به عبارتی در API های پایین تر از 11 شما ActionBar ای در app خود نخواهید داشت .(چون ActionBar از API 11 به بالا معرفی شد)

پس ActionBar یک قابلیت ذاتی برای کلاس های Activity(در API های بالاتر از 11)  و ActionBarActivity خواهد بود .
واسه همین اکتیویتی شما از هرکدام که extends کنه شما ActionBar رو خواهید داشت و واسه حذف کردنش باید یکی از روش ها رو انتخاب کنید .(مگر اینکه برایAPI های زیر 11 از کلاس Activity ارث بری کرده باشین که در این حالت ActionBar ای نخواهید داشت که بخواین حذفش کنین) 

-- چونکه من همیشه Min Sdk رو 8 می گیرم (چونکه میخوام اکثر گوشی ها رو ساپورت کنم ) بنابراین از کلاس ActionBarActivity ارث بری می کنم تا API های زیر 11 هم دارای ActionBar باشن ، پس دیدیم که extends  کردن از ActionBarActivity   ابداً اشتباه نیست بلکه دست شما رو برای طراحی هرچه حرفه ای تر app باز خواهد گذاشت .
در مورد menu هم بماند...
حالا این وسط انتخاب روشی که ActionBar رو حذف کنه به انتخاب برنامه نویس هست و اینکه کدوم روش کارش رو راه میندازه ، خیلی ها روش های اصولی رو انتخاب می کنن ،بعضی ها روش های میانبر و ...
من خودم چون از روش  AndroidManifest نتیجه دلخواهم رو نگرفتم از کد جاوا استفاده می کنم که اکثرا بهترین نتیجه رو واسه من داشته .

موفق باشید .
باید توجه داشته باشیم و بنده هم باید عرض میکردم api های زیر 11 که شما میفرمایی منسوخ شده!
دلیل قانع کننده ایی نیست.
اما خوب باید بزاریم و بگیم براساس نیاز برنامه نویس !
همچنین ، وقتی استفاده ایی نداره ، چه کاریه که بیخودی حجم کدهارو زیاد کنیم ؟
شما نیز موفق باشید !

 
پاسخ

تمام صفحه کردن webview به صورت کامل! (در برنامه نویسی اندروید)

#14
سلام
راهی که به ذهنم رسید اینجوریه که شما میتونی تو مانیفست تو قسمت aplication میتونی تم برنامه را عوض کنید و کدهای مربوط به action bar را برداری
فهمیدن بهتر از دانستن است.
پاسخ
 سپاس شده توسط admin ، khunires


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)