آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

کلیک نشدن آیتم های اسلایدینگ منو(لطفا کمک کنید.هنوز حل نشده)

bahman2000  10 سال پیش  9 سال پیش
+1 0

سلام دوستان.به کمک فیلم آموزشی اسلایدینگ منو آقای کاشی زاده تونستم اسلایدینگ منو رو پیاده سازی کنم.اما تنها مشکلی که وجود داره وقتی بر روی یکی از آیتم های اسلایدینگ منو کلیک شدن رو تعریف میکنم چیزی هایی که در onclick نوشتم اجرا نمیشن و فقط اسلایدینگ منو بسته میشه!

0 0
دوستان لطفا کمک کنید. (10 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
m-developer  10 سال پیش
+1 0

خیلی راحت مثل هر دکمه دیگه ای من تو برنامه ام ایجادش کردم

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

 //Start Sliding Menu****************************************************************
        //
        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View actionBarView = inflater.inflate(R.layout.action_bar, null);

        ActionBar actionBar = getSupportActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
        actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        actionBar.setCustomView(actionBarView, new ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

        final DrawerLayout drawerlayout = (DrawerLayout) findViewById(R.id.drawerlayout);
//******** kilidi ke ban on slide menu ro baz va baste mikonam
        Button btnMenu = (Button) actionBarView.findViewById(R.id.btnMenu);
        btnMenu.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                if (drawerlayout.isDrawerOpen(Gravity.LEFT)) {
                    drawerlayout.closeDrawer(Gravity.LEFT);
                } else {
                    drawerlayout.openDrawer(Gravity.LEFT);
                }
            }
        });
//******** baraye mohtaviate slide menu font set kardam
        tf = Typeface.createFromAsset(getAssets(), "yekan.ttf");
        TextView txt1 = (TextView) findViewById(R.id.txtmenu1);
        TextView txt2 = (TextView) findViewById(R.id.txtmenu2);
        TextView txt3 = (TextView) findViewById(R.id.txtmenu3);
        TextView txt4 = (TextView) findViewById(R.id.txtmenu4);
        TextView txt_actionbar = (TextView) findViewById(R.id.txt_actionbar);
        txt1.setTypeface(tf);
        txt2.setTypeface(tf);
        txt3.setTypeface(tf);
        txt4.setTypeface(tf);
        txt_actionbar.setTypeface(tf, Typeface.BOLD);
//********kilid haii ke dakhele slid menu estefade karadm findViewById(R.id.lay1).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { drawerlayout.closeDrawer(Gravity.LEFT); Intent go_next = new Intent(G.context, LearnMenuActivity.class); StartUpActivity.this.startActivity(go_next); } }); findViewById(R.id.lay2).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { drawerlayout.closeDrawer(Gravity.LEFT); Intent go_next = new Intent(G.context, SamplesMenuActivity.class); StartUpActivity.this.startActivity(go_next); } }); findViewById(R.id.lay3).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { drawerlayout.closeDrawer(Gravity.LEFT); Intent go_next = new Intent(G.context, NotesActivity.class); StartUpActivity.this.startActivity(go_next); } }); findViewById(R.id.lay4).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { drawerlayout.closeDrawer(Gravity.LEFT); Intent go_next = new Intent(G.context, AboutActivity.class); StartUpActivity.this.startActivity(go_next); } }); findViewById(R.id.lay5).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { drawerlayout.closeDrawer(Gravity.LEFT); Intent go_next = new Intent(G.context, FavoriteActivity.class); StartUpActivity.this.startActivity(go_next); } }); // //End Sliding Menu****************************************************************
0 0
سلام دقیقا کار شما رو انجام دادم ولی با کلیک بر روی ایتم های منو هیچ عکس العملی انجام نمیده چرا؟؟؟؟ (10 سال پیش)
0 0
آقا خدا خیرت بده ، با کد شما درست شد (10 سال پیش)
پاسخ به سوال 
bahman2000  10 سال پیش
0 0

نمیدونم چرا اینطوری شده.هر کاری می کنم اصلا آیتم های اسلایدینگ منو کلیک نمی شوند.کاملا گیج شدم! اصلا انگار هیچ onclick ای برای آیتم های اسلایدینگ منو ننوشتم!!!

        // کدهای اکشن بار
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.actionbar, null); ActionBar actionBar = getSupportActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); actionBar.setCustomView(view, new ActionBar.LayoutParams (ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); getSupportActionBar().setDisplayShowTitleEnabled(false); getSupportActionBar().setDisplayShowHomeEnabled(false); ///////////////////////////////////////////////// کدهای اسلایدینگ منو final DrawerLayout drawer_layout = (DrawerLayout) findViewById(R.id.drawer_layout); ImageView imgmenu = (ImageView) view.findViewById(R.id.imgmenu); imgmenu.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if (drawer_layout.isDrawerOpen(Gravity.RIGHT)) drawer_layout.closeDrawer(Gravity.RIGHT); else drawer_layout.openDrawer(Gravity.RIGHT); } }); ////////////////////////////////////////////////////////////////// کلیک شدن بر روی اولین آیتم اسلابدینگ منو LinearLayout lay1 = (LinearLayout) view.findViewById(R.id.lay1); lay1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(Activity1.this, Activity2.class);
Activity1.this.startActivity(intent); } });
0 0
شما اکتیوتی هاتو از اکشن باز extends کردی؟؟ (10 سال پیش)
0 0
بله این کار رو انجام دادم.کلا 10 تا اکتیویتی دارم که می خوام در همشون از اسلایدینگ منو استفاده کنم.یک لایه مربوط به اسلادینگ منو دارم و ده تا لایه ی روت.root1 , roo2 , ...., root10 (10 سال پیش)
0 0
دوستان لطفا کمک کنید.این مشکل حسابی فکر من رو مشغول کرده!!! (10 سال پیش)
0 0
سلام آفا بهمن شما تونستید رو حل کنید (10 سال پیش)
پاسخ به سوال 
Criss  10 سال پیش
+1 0

فایل XML شما همون root تعین میکنه که کلیک ها روی کدوم لایه انجام بشه

 <?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<include layout="@layout/main" />

<include layout="@layout/sliding_menu" />

</android.support.v4.widget.DrawerLayout>

لایه ایی که پایین تر باشه کلیک ها میگیره اگر به اشتباه Main رو پایین تر قرار داده باشید روی NavigationDrawer شما کلیک نمیشه

نکته دوم اینکه بعد از این هم NavigationDrawer کلیک هایی که روش میشه رو با اینکه قبول میکنه اما اگر روی قسمتی کلیک بشه که هیچ View نباشه و OnclickListener اونجا نباشه اون کلیک از NavigationDrawerرد میشه و به لایه زیری کلیک میشه

برای حل نکته دوم میتونید کل لایه NavigationDrawer رو بگیرید وOnclickListener خالی براش تعریف کنید

0 0
اگر هم روی main و هم navigation بخواهیم کلیم شود چه ؟ الان همه اپها اینطوریه (9 سال پیش)
0 0
منظورتون رو متوجه نمیشم ! میخواید با کلیک شدن روی Main بتونید navigation رو باز و بسته کنید ؟ یا بصورتی دیگه ؟ یک نمونه اپ مثال بزنید (9 سال پیش)
0 0
منظورتون دقیق تر بگین تا دوستان بتونن کمکتون کنن (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .