رفتن به مطلب
  • 0

راهنمایی برای دکمه شماور بر روی گوشی


mr.ehsan8001

سوال

سلام من یه دکمه شناور دارم که روی صفحه هستش ،میخام وقتی روی دکمه کلیک شد یه مربع ظاهر بشه که گزینه های مختلف رو داخلش قرار بدم.

چطوری باید اون مربع رو ایجاد کنم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

13 پاسخ به این سوال تاکنون داده شده است

ارسال های توصیه شده

با کمک از این پروژه گیت هاب مشکلم حل شد.:DD:

https://github.com/klinker24/FloatingWindowDemo

لینک ارسال
به اشتراک گذاری در سایت های دیگر

مثل این که مشکل حل نشده:unknown:

روشی که داخل پروژه گیت هاب بود یه اکتیویتی بود که شناور بود و یسری مشکلات داره.

چطوری باید یه سرویس بسازم که یه لیوت رو نشون بده؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اقا خودم نمیدونم چرا اصن تاپیک زدم :oops:

با این متد یه لیوت رو به صورت سرویس دراوردم:

li = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
        wm = (WindowManager) getSystemService(WINDOW_SERVICE);

        WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                //WindowManager.LayoutParams.TYPE_INPUT_METHOD |
                WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,// | WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
                WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
                PixelFormat.TRANSLUCENT);

        params.gravity = Gravity.RIGHT | Gravity.TOP;
        myview = li.inflate(R.layout.traslucent, null);     

        wm.addView(myview, params);

ولی مشکلم اینه اگه یه باتن داخل لیوت باشه نمیتونم براش on click بزارم.

چیکار باید بکنم؟

فکر میکنم یه اکتیویتی باید بسازم و به این سرویس extand کنم و داخل اون On click رو قرار بدم :fekr:

تست میکنم

*********************

پ.ن: جواب نداد، مثل اینکه داخل سرویس نمیشه از OnClickListener استفاده کرد :(

بالاخره یه راهی باید باشه...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

عاقا کسی نمیدونه؟

من بخاطر این مشکل گیر کردم برناممو نمیتونم بسازم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوست عزیز شما می تونید یک اکتیویتی جدید بسازین بعد به اون اکتیویتی تم متریال دیالوگ را بدین و شخصی سازیش کنید :):bigsmile:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 8 دقیقه قبل، appfatim گفته است :

سلام دوست عزیز شما می تونید یک اکتیویتی جدید بسازین بعد به اون اکتیویتی تم متریال دیالوگ را بدین و شخصی سازیش کنید :):bigsmile:

فکر میکنم منظورمو درست متوجه نشدین، من میخام یه مربع کوچیک بقل همون دکمه شناور اینجاد بشه ،نه به صورت دیالوگ.

مثل assistive touch ایفون ها

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یه مربع که گزینه های مختلف قرار بدی؟:|

یکم توضیح بده عکسی داری اگه

مثلا میتونی یه ویو بسازی و بگی وقتی اون دکمه کلیک شد اونو نمایش بده یا یه همچین چیزی

بهش انیمیشن هم بدی که خوشگل از آب در بیاد

تاحالا امتحان نکردم اما شدنیه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

assistivetouch_gestures_examples_iphone.

اینشکلی در ابعادی کوچیک تر 

برای انیمیشینش میشه بگید باید چه متدی برای zoom in و zoom out  شدن استفاده کنم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

در هم اکنون، mr.ehsan8001 گفته است :

برای انیمیشینش میشه بگید باید چه متدی برای zoom in و zoom out  شدن استفاده کنم؟

 

http://stackoverflow.com/questions/15458073/animation-for-zoom-in-and-zoom-out-in-android-for-imageview

 

http://stackoverflow.com/questions/17904432/zoom-in-and-zoom-out-animation-in-android

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آموزششو یکی از سایت ها گذاشته بود توی اینترنت حالا یادم اومد پی وی میفرستم براتون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یه کتابخونه آقا پوریا عزیز wrap کرده بودن که این کار رو توی یک خط کد انجام میده

امروز توی فروشگاه قرار میگیره

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

در 31 دقیقه قبل، مهدی ایزدی گفته است :

یه کتابخونه آقا پوریا عزیز wrap کرده بودن که این کار رو توی یک خط کد انجام میده

امروز توی فروشگاه قرار میگیره

من خودم یکم سرچ کردم اومدم یه سرویس دیگه ساختم بعد مثل همین دکمه شناور درستش کردم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من برای اون دکمه یه onClick گداشتم و با متد

startService(new Intent(FlyBitch.this, Dialog.class));

به سرویس دیگه ای منتقل کردم.

کد های سرویس Dialog.java هم اینه:

public class Dialog extends Service {

    private WindowManager windowManager;
    private View view;

    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void onCreate() {
        super.onCreate();

        windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);

        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View popUpView = inflater.inflate(R.layout.dialog, null, false);
        final PopupWindow popup = new PopupWindow(popUpView, 400, 580, true);
        popup.setContentView(popUpView);
        popup.showAtLocation(view, Gravity.LEFT, 200, 200);
        Log.d("popup", "Dialog");

        final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_PHONE,
                WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
                PixelFormat.TRANSLUCENT);

        params.gravity = Gravity.TOP | Gravity.LEFT;
        params.x = 0;
        params.y = 100;

        windowManager.addView(popUpView, params);

    }
}

ولی وقتی اپ رو اجرا می کنم و روی دکمه کلیک میکنم برنامه فورس کلوز میشه و این ارور رو توی اندروید مانیتور میده:

Unable to create service tk.eatheat.floatingexample.Dialog: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.IBinder android.view.View.getWindowToken()' on a null object reference

توی مانیفست هم سرویسو معرفی کردم:fekr:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...