Soru & Cevap

Float Action Menü Öğelerine tıklayınca yeni aktivity açma

07.01.2016 - 11:28

Bu resimdeki sol üst köşedeki float action buttonu projemde kullandım buraya kadar herşey güzel yalnız ben o papatya yapraklarına benziyen menü elemanlarının herbirine ayrı birer activity atamak istiyorum bu mümkün mü? Mümkünse bunu nasıl yapabilirim yani bir activitye nasıl bağlantı verebilirim? Aşağıda kod parçacığımı gönderdim nasıl bir ekleme yapılması gerekiyor yardımcı olan olursa çok sevinirim.

package info.androidhive.materialdesign;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;

import com.oguzdev.circularfloatingactionmenu.library.FloatingActionButton;
import com.oguzdev.circularfloatingactionmenu.library.FloatingActionMenu;
import com.oguzdev.circularfloatingactionmenu.library.SubActionButton;

import info.androidhive.mardinvalilik.R;
import info.androidhive.mardinvalilik.activity.Lan;


@SuppressWarnings("ALL")
public class Main2Activity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);





        // Set up the large red button on the center right side
        // With custom button and content sizes and margins
        int redActionButtonSize = getResources().getDimensionPixelSize(R.dimen.kırmızı_butonun_pixel_boyutu); //Kırmızı butonun pixel boyutu
        int redActionButtonMargin = getResources().getDimensionPixelOffset(R.dimen.action_button_margin); //Kırmızı butonun kenar pixel boyutu
        int redActionButtonContentSize = getResources().getDimensionPixelSize(R.dimen.action_button_size);//Kırmızı butonun içindeki nesnenin pixel boyutu
        int redActionButtonContentMargin = getResources().getDimensionPixelSize(R.dimen.action_button_size);//Kırmızı butonun içindeki nesnenin kenar pixel boyutu
        int redActionMenuRadius = getResources().getDimensionPixelSize(R.dimen.action_button_size);//Menünün yarı çapı
        int blueSubActionButtonSize = getResources().getDimensionPixelSize(R.dimen.action_button_size);// Menü elemanlarının buton boyutu
        int blueSubActionButtonContentMargin = getResources().getDimensionPixelSize(R.dimen.action_button_size);//Menü elemanlarının içindeki nesnenin pixel boyutu

        ImageView fabIconStar = new ImageView(this);
        fabIconStar.setImageDrawable(getResources().getDrawable(R.drawable.ic_profile));

        FloatingActionButton.LayoutParams starParams = new FloatingActionButton.LayoutParams(redActionButtonSize, redActionButtonSize);
        starParams.setMargins(redActionButtonMargin,
                redActionButtonMargin,
                redActionButtonMargin,
                redActionButtonMargin);
        fabIconStar.setLayoutParams(starParams);

        FloatingActionButton.LayoutParams fabIconStarParams = new FloatingActionButton.LayoutParams(redActionButtonContentSize, redActionButtonContentSize);
        fabIconStarParams.setMargins(redActionButtonContentMargin,
                redActionButtonContentMargin,
                redActionButtonContentMargin,
                redActionButtonContentMargin);

        final FloatingActionButton leftCenterButton = new FloatingActionButton.Builder(this)
                .setContentView(fabIconStar, fabIconStarParams)
                .setBackgroundDrawable(R.drawable.fab_background)
                .setPosition(FloatingActionButton.POSITION_BOTTOM_CENTER)
                .setLayoutParams(starParams)
                .build();



        // Set up customized SubActionButtons for the right center menu
        SubActionButton.Builder lCSubBuilder = new SubActionButton.Builder(this);
        lCSubBuilder.setBackgroundDrawable(getResources().getDrawable(R.drawable.button_action_dark_selector));

        FrameLayout.LayoutParams blueContentParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
        blueContentParams.setMargins(blueSubActionButtonContentMargin,
                blueSubActionButtonContentMargin,
                blueSubActionButtonContentMargin,
                blueSubActionButtonContentMargin);
        lCSubBuilder.setLayoutParams(blueContentParams);
        // Set custom layout params
        FrameLayout.LayoutParams blueParams = new FrameLayout.LayoutParams(blueSubActionButtonSize, blueSubActionButtonSize);
        lCSubBuilder.setLayoutParams(blueParams);

        ImageView lcIcon1 = new ImageView(this);
        ImageView lcIcon2 = new ImageView(this);
        ImageView lcIcon3 = new ImageView(this);
        ImageView lcIcon4 = new ImageView(this);
        ImageView lcIcon5 = new ImageView(this);

        lcIcon1.setImageDrawable(getResources().getDrawable(R.drawable.button_action_dark));
        lcIcon2.setImageDrawable(getResources().getDrawable(R.drawable.button_action_dark));
        lcIcon3.setImageDrawable(getResources().getDrawable(R.drawable.button_action_dark));
        lcIcon4.setImageDrawable(getResources().getDrawable(R.drawable.button_action_dark));
        lcIcon5.setImageDrawable(getResources().getDrawable(R.drawable.button_action_dark));

        // Build another menu with custom options
        final FloatingActionMenu leftCenterMenu = new FloatingActionMenu.Builder(this)
                .addSubActionView(lCSubBuilder.setContentView(lcIcon1, blueContentParams).build())
                .addSubActionView(lCSubBuilder.setContentView(lcIcon2, blueContentParams).build())
                .addSubActionView(lCSubBuilder.setContentView(lcIcon3, blueContentParams).build())
                .addSubActionView(lCSubBuilder.setContentView(lcIcon4, blueContentParams).build())
                .addSubActionView(lCSubBuilder.setContentView(lcIcon5, blueContentParams).build())
                .setRadius(redActionMenuRadius)
                .setStartAngle(150)
                .setEndAngle(-150)
                .attachTo(leftCenterButton)
                .build();

 

83 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-7661-1418285218.jpg
zafermuhammed93
12.01.2016 - 03:25

Hocam inceldem sorunun tam çözümü şöyle 

final FloatingActionMenu leftCenterMenu = new FloatingActionMenu.Builder(this)
                .addSubActionView(lCSubBuilder.setContentView(lcIcon1, blueContentParams).build())
                .addSubActionView(lCSubBuilder.setContentView(lcIcon2, blueContentParams).build())
                .addSubActionView(lCSubBuilder.setContentView(lcIcon3, blueContentParams).build())
                .addSubActionView(lCSubBuilder.setContentView(lcIcon4, blueContentParams).build())
                .addSubActionView(lCSubBuilder.setContentView(lcIcon5, blueContentParams).build())
                .setRadius(redActionMenuRadius)
                .setStartAngle(150)
                .setEndAngle(-150)
                .attachTo(leftCenterButton)
                .build();

Hocam burada alt butonları direk fonksiyon içindeki metotda tanımlamak yerine şöyle benim aşağıda tanımladğım gibi tanımladıkdan sonra metotda koyarsanız ve daha sonra onclickleri tanımlarsanız sorun çözülecektir.

 

SubActionButton button1 = lCSubBuilder.setContentView(lcIcon5, blueContentParams).build();
        SubActionButton button2 = lCSubBuilder.setContentView(lcIcon4, blueContentParams).build();
        SubActionButton button3 = lCSubBuilder.setContentView(lcIcon3, blueContentParams).build();
        SubActionButton button4 = lCSubBuilder.setContentView(lcIcon2, blueContentParams).build();
        SubActionButton button5 = lCSubBuilder.setContentView(lcIcon1, blueContentParams).build();
        // Build another menu with custom options
        final FloatingActionMenu  leftCenterMenu = new FloatingActionMenu.Builder(this)
                        .addSubActionView(button5)
                        .addSubActionView(button4)
                        .addSubActionView(button3)
                        .addSubActionView(button2)
                        .addSubActionView(button1)

                        .setRadius(redActionMenuRadius)
                        .setStartAngle(150)
                        .setEndAngle(-150)
                        .attachTo(leftCenterButton)
                .build();
       button1.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               Log.d("zms","button1");
           }
       });
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("zms","button2");
            }
        });
        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("zms","button3");
            }
        });
        button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("zms","button4");
            }
        });
        button5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("zms","button5");
            }
        });

Kolay gelsin

Halit AY
12.01.2016 - 04:02
Evet hocam bu sorunumu çözdü çok teşekkür ederim Allah razı olsun sizden işe yaradı :D
picture-7661-1418285218.jpg
zafermuhammed93
08.01.2016 - 10:14

Merhaba FloatAction buton bu tarz kullanmadım ama tahminen şöyle birşey olması lazım float butonun içindeki butonlara tıkladığında hangi butona tıkladığını itemin numarasını döndürmesi lazım onu da şu şekilde yapabilrsin heralde.Birde burada hangi floataction button kütüphanesini kullandığını yazsan ona göre yorum yapmamız doğru olurdu hatta kütüp haneyi indirdiğin yerde sample dosyası vardır onu incele veya kütüphanenin içindeki override edilen metotlarada bakabilrsn. neyse ben burada örnek olarak material dialog kullandm ondan bi örnek yazayım

new FloatingActionMenu.Builder(this)

dediğin yerin birin de

.build();

demeden önce 

. (nokta) de ve adapter veya buna benzer onclick flanda olabilr metotlar çıkacakmı ona bak eyer adapter çıkarsa 

örnek olarak şu şekilde yapbilrsin.Buradaki kodlar tamemn sallama 

.adapter(adapter, new MaterialDialog.ListCallback() {
                            @Override
                            public void onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) {
                                MaterialSimpleListItem item = adapter.getItem(which);

                                //  showToast(item.getContent().toString());
                               // showToast(String.valueOf(which));
                                switch (which) {
                                    case 0:
                                        try {
                                            c = products.getJSONObject(recyclerViewUrunler.getChildPosition(view));
                                            pid = c.getString(AppConfig.TAG_PID);
                                            Log.i("zms", "zms LongC getASYNC" + pid);
                                            new GetUrunDetails().execute(pid);
                                            showToast("0"+c);
                                            dialog.dismiss();
                                        } catch (JSONException e) {
                                            e.printStackTrace();
                                        }


                                        break;
                                    case 1:
                                        try {
                                            c = products.getJSONObject(recyclerViewUrunler.getChildPosition(view));
                                            pid = c.getString(AppConfig.TAG_PID);

                                            showToast("c: " + c);
                                            new DeleteUrun().execute(pid);
                                            dialog.dismiss();
                                        } catch (JSONException e) {
                                            e.printStackTrace();
                                        }
                                        break;


                                }


                            }
                        })

burada switch case ile tıkladığın dosyanın item numarasına göre activity tanımladım sende ona göre bir activity tanımlarsın