یک مشکل در اندروید پنج لطفا کمک
سلام من متریال دیزاین رو رو برنامم پیاده کردم و با استفاده ازgetSupportActionBar رو اکشن بار ادیت میکنم تو همه نسخه های اندروید درست کار میکنه ولی داخل اندروید پنج فورس کلوز میده اگه میشه راهنمایی کنید
import android.app.*;
import android.content.*;
import android.content.pm.*;
import android.graphics.*;
import android.net.*;
import android.os.*;
import android.support.v7.app.*;
import android.telephony.*;
import android.util.*;
import android.view.*;
import android.view.View.*;
import android.widget.*;
import android.widget.LinearLayout.*;
import com.abzarkarbordi1380.*;
import ir.adad.*;
import android.app.AlertDialog;
import android.support.v7.app.ActionBar;
import android.view.View.OnClickListener;
import android.graphics.drawable.*;
public class main extends ActionBarActivity
{
private String payload; // رشته ی منحصر به فردی که ما اون رو تولید میکنیم و به هنگام خرید به بازار ارسال میکنیم
static final String TAG = "app";
private AdView adView;
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.itemKelidestan:
//do something when this button is pressed
startActivity(new Intent(this, seda.class));
return true;
case R.id.ex:
Intent next= new Intent(main.this, sett.class );
next.putExtra("btn", 20);
////در اینجا هم میگیم که اینتنت ماز شرو بشه
startActivity(next);
return true;
case R.id.fi:
//do something when this button is pressed
finish();
return true;
default:
return true;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main1, menu);
return true;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main1no);
//if(!MySigCheck(getApplicationContext()).equals("-1803739374")){
//finish();
//MyToast.makeText(getApplicationContext(), "لطفا از نسخه معتبر برنامه استفاده کنید", Toast.LENGTH_LONG).show();
//Log.d(TAG, "chk sign");
//}else{
//}
Typeface textfontfa = Typeface.createFromAsset(getAssets(),"c.ttf");
SharedPreferences sh = getSharedPreferences("sett", 0);
String editor1 = sh.getString("chk","#004d40");
//acsin
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar(). setDisplayShowHomeEnabled(false);
getSupportActionBar().setDisplayShowTitleEnabled(false);
LayoutInflater mInflater = LayoutInflater.from(this);
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor(editor1)));
View mCustomView = mInflater.inflate(R.layout.custom, null);
TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.textViewTitle);
mTitleTextView.setText("صفحه اصلی");
mTitleTextView.setTypeface(textfontfa);
//mTitleTextView.setTextSize(15);
//فعال کردن اکشن بار سفارشی
getSupportActionBar().setCustomView(mCustomView);
getSupportActionBar().setDisplayShowCustomEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
payload = telephonyManager.getDeviceId();
SharedPreferences shared = getSharedPreferences("Prefs", MODE_PRIVATE);
SharedPreferences.Editor editor = shared.edit();
boolean premium=shared.getBoolean(payload, false);
if(premium){
Adad.setDisabled(true);
Button btn1=(Button) findViewById(R.id.noad);
btn1.setEnabled(false);
}else{
FrameLayout.LayoutParams adParams = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
adParams.gravity = Gravity.BOTTOM | Gravity.CENTER;
adView = new AdView(this);
adView.setToken("5455d62594db433f9219a1e3cbac7d59");
addContentView(adView, adParams);
}
Adad.setTestMode(true);
TextView d = (TextView) findViewById(R.id.fonttxt);
d.setTypeface(textfontfa);
Button btn=(Button) findViewById(R.id.intmain);
btn.setTypeface(textfontfa);
///در اینجا هم میگیم وقتی رو دکمه کلیک میشه چیکار انجام بده
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
// در اینجا یک اینتنت تعریف میکنیم و میگیم که وقتی اجرا میشه بره صفحه مورد نظرمون
Intent next= new Intent(main.this, MainActivity.class );
next.putExtra("btn", 20);
////در اینجا هم میگیم که اینتنت ماز شرو بشه
startActivity(next);
}
});
Button btn1=(Button) findViewById(R.id.noad);
btn1.setTypeface(textfontfa);
///در اینجا هم میگیم وقتی رو دکمه کلیک میشه چیکار انجام بده
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
// در اینجا یک اینتنت تعریف میکنیم و میگیم که وقتی اجرا میشه بره صفحه مورد نظرمون
Intent next= new Intent(main.this, pro.class );
next.putExtra("btn", 20);
////در اینجا هم میگیم که اینتنت ماز شرو بشه
startActivity(next);
}
});
}
//////کد اجرایی نوشنه نشود
@Override
public void onBackPressed() {
Log.d(TAG, "appfinish.");
//نمایش الرت دیالئگ هنگام کلیک بروی دکمه بک موبایل
backButtonHandler();
return;
}
public void backButtonHandler() {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(
main.this);
// ایجاد عنوان برای دیالوگ
alertDialog.setTitle("");
// ایجاد یک پیام جهت نمایش به کاربر
alertDialog.setMessage("آیا مایل به خروج از برنامه هستید؟");
// ایجاد یک دکمه با عملکرد مثبت برای نمایش بله و خروج از برنامه
alertDialog.setPositiveButton("بلی",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
// ایجاد یک دکمه با عملکرد منفی برای نمایش خیر و ماندن در برنامه
alertDialog.setNegativeButton("خیر",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
alertDialog.setNeutralButton("نظر",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
Intent intent = new Intent("android.intent.action.EDIT", Uri.parse(("bazaar://details?id=com.abzarkarbordi1380")));
intent.setPackage("com.farsitel.bazaar");
startActivity(intent);
}
});
// نماایش الرت دیالوگ
alertDialog.show();
}}
//public String MySigCheck(Context context) {
//String sigChk = "";
//Signature[] signature = new Signature[0];
//try {
//signature = context.getPackageManager().getPackageInfo(context .getPackageName(), PackageManager.GET_SIGNATURES).signatures;
//} catch (PackageManager.NameNotFoundException e) {
//e.printStackTrace();
//}
//sigChk = String.valueOf(signature[0].hashCode());
//return sigChk;
// }}
اینم لاگ
WindowManager com.abzarkarbordi1380 android.view.WindowLeaked: Activity com.abzarkarbordi1380.pro has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{4209e438 G.E..... R.....ID 0,0-456,144} that was originally added here
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.view.ViewRootImpl.<init>(ViewRootImpl.java:422)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:250)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.app.Dialog.show(Dialog.java:329)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at com.abzarkarbordi1380.pro.onCreate(pro.java:298)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.app.Activity.performCreate(Activity.java:5353)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2340)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2428)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.app.ActivityThread.access$800(ActivityThread.java:151)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.os.Handler.dispatchMessage(Handler.java:110)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.os.Looper.loop(Looper.java:193)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at android.app.ActivityThread.main(ActivityThread.java:5332)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at java.lang.reflect.Method.invokeNative(Native Method)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at java.lang.reflect.Method.invoke(Method.java:515)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:831)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:647)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
11-27 21:01:48.968 3017 3017 E WindowManager com.abzarkarbordi1380 at dalvik.system.NativeStart.main(Native Method)
این روش رو برید شاید درست بشه.( البته مطمئن نیستم ولی شما امتحان کنید. ضرر که نداره (: ! )
فایل Style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="AppTheme.Base">
</style>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primaryColorDark</item>
<item name="colorAccent">@color/accentColor</item>
</style>
</resources>
فایل(Style.xml(v21
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="AppTheme.Base">
<item name="android:colorPrimary">@color/primaryColor</item>
<item name="android:colorPrimaryDark">@color/primaryColorDark</item>
<item name="android:colorAccent">@color/accentColor</item>
</style>
</resources>
ست کردن تم در منیفست!
application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
امیدوارم مشکلتون حل بشه (:
این دوستمون سورسش رو از طریق تلگرام برای من فرستاد و بعد از بررسی سورس متوجه شدم ایشون در پروژشون از پرداخت درون برنامه ای بازار استفاده کردند ، برای استفاده از این سرویس باید چندین فایل به پروژتون اضافه کنید که یکی از فایل ها IabHelper نام دارد ، در خط 260 ام این کلاس یک متغییر از جنس Intent به نام serviceIntent وجود دارد ، برای استفاده از این اینتنت در اندروید 5 باید حتما آن را صریح کنید که خط 260 ام این کار را میکند و پکیج کافه بازار را به آن اختصاص میدهد ، قبلا هم یکی از دوستان و حتی خوده من به همین مشکل برخورده بودیم ، دوستانی که از پرداخت درون برنامه ای کافه بازار استفاده می کنند ، به این نکته توجه کنند.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .