0

以下のコードを使用して 5 つのサブアクション ボタンを持つ Float アクション ボタンを実装しました。このサブアクション ボタンのそれぞれに onClickListener を追加して、クリックしたときに別のアクティビティを開くにはどうすればよいですか。

 SubActionButton.Builder rLSubBuilder = new SubActionButton.Builder(this);
    ImageView rlIcon1 = new ImageView(this);
    ImageView rlIcon2 = new ImageView(this);
    ImageView rlIcon3 = new ImageView(this);
    ImageView rlIcon4 = new ImageView(this);
    ImageView rlIcon5 = new ImageView(this);
    //ImageView rlIcon6 = new ImageView(this);

     rlIcon1.setImageDrawable(getResources().getDrawable(R.drawable.ic_action_contact));
    rlIcon2.setImageDrawable(getResources().getDrawable(R.drawable.ic_action_currency_info));
    rlIcon3.setImageDrawable(getResources().getDrawable(R.drawable.ic_action_exhibition));
    rlIcon4.setImageDrawable(getResources().getDrawable(R.drawable.ic_action_faq));
    rlIcon5.setImageDrawable(getResources().getDrawable(R.drawable.ic_action_info_desk));
    //rlIcon6.setImageDrawable(getResources().getDrawable(R.drawable.ic_action_passport));



    // Build the menu with default options: light theme, 90 degrees, 72dp radius.
    // Set 4 default SubActionButtons
    final FloatingActionMenu rightLowerMenu = new FloatingActionMenu.Builder(this)
            .addSubActionView(rLSubBuilder.setContentView(rlIcon1).build())
            .addSubActionView(rLSubBuilder.setContentView(rlIcon2).build())
            .addSubActionView(rLSubBuilder.setContentView(rlIcon3).build())
            .addSubActionView(rLSubBuilder.setContentView(rlIcon4).build())
            .addSubActionView(rLSubBuilder.setContentView(rlIcon5).build())
            //.addSubActionView(rLSubBuilder.setContentView(rlIcon6).build())
            .attachTo(rightLowerButton)
            .build();

    // Listen menu open and close events to animate the button content view
    rightLowerMenu.setStateChangeListener(new FloatingActionMenu.MenuStateChangeListener() {
        @Override
        public void onMenuOpened(FloatingActionMenu menu) {
            // Rotate the icon of rightLowerButton 45 degrees clockwise
            fabIconNew.setRotation(0);
            PropertyValuesHolder pvhR =  PropertyValuesHolder.ofFloat(View.ROTATION, 90);
            ObjectAnimator animation = ObjectAnimator.ofPropertyValuesHolder(fabIconNew, pvhR);
            animation.start();
        }

        @Override
        public void onMenuClosed(FloatingActionMenu menu) {
            // Rotate the icon of rightLowerButton 45 degrees counter-clockwise
            fabIconNew.setRotation(90);
            PropertyValuesHolder pvhR = PropertyValuesHolder.ofFloat(View.ROTATION, 0);
            ObjectAnimator animation =  ObjectAnimator.ofPropertyValuesHolder(fabIconNew, pvhR);
            animation.start();
        }
    });

}
4

2 に答える 2

0

このライブラリを使用していると仮定しています。ソースを見ると、から派生したsetContentViewにビューを追加するだけであることがわかります。したがって、新しいアクティビティを開くように設定する必要があります。これは onClickListeners がどのように見えるかですCircularActionMenuFrameLayoutonClickListenersImageViews

rIIcon1.setOnClickListener(new View.OnCLickListener(){
    @Override
    public void onClick(View view){
       Intent intent = new Intent(getApplicationContext(),ActivityName.class)
       startActivity(intent)
    }
})

同様に、リスナーを他のイメージビューにアタッチします

于 2015-10-18T17:52:42.577 に答える