Example usage for android.support.v4.view ViewPager findViewWithTag

List of usage examples for android.support.v4.view ViewPager findViewWithTag

Introduction

In this page you can find the example usage for android.support.v4.view ViewPager findViewWithTag.

Prototype

public final <T extends View> T findViewWithTag(Object tag) 

Source Link

Document

Look for a child view with the given tag.

Usage

From source file:com.cw.litenote.note.NoteUi.java

/**
 *  Video UI//from w  w  w .j  a v  a2  s.  co  m
 */
private static ViewGroup getPictureGroup(int position, ViewPager pager) {
    String tagStr = "current" + position + "pictureView";
    ViewGroup viewGroup = (ViewGroup) pager.findViewWithTag(tagStr);
    System.out.println("NoteUi / _getPictureGroup / tagStr = " + tagStr);
    return viewGroup;
}

From source file:org.tomahawk.tomahawk_android.views.TomahawkScrollView.java

private boolean isListViewScrolledUp() {
    if (findViewById(R.id.fragmentpager) != null) {
        ViewPager viewPager = (ViewPager) findViewById(R.id.fragmentpager);
        View view = viewPager.findViewWithTag(viewPager.getCurrentItem());
        if (view instanceof StickyListHeadersListView) {
            StickyListHeadersListView listView = (StickyListHeadersListView) view;
            //TODO fix np if listchild null
            return listView.getFirstVisiblePosition() == 0
                    && (listView.getListChildAt(0) == null || listView.getListChildAt(0).getTop() >= 0);
        }//  w  ww  .ja v  a  2s . com
    }
    return false;
}

From source file:com.cw.litenote.note.NoteUi.java

/**
 *  Set picture view listeners/*from   w  w w. ja  v a  2 s  .c  o m*/
 * @param act
 * @param pager
 * @param strPicture
 * @param linkUri
 * @param viewGroup
 */
private void setPictureView_listeners(final AppCompatActivity act, final ViewPager pager,
        final String strPicture, final String linkUri, ViewGroup viewGroup) {
    System.out.println("NoteUi / setPictureView_listeners");
    Button picView_back_button = (Button) (viewGroup.findViewById(R.id.image_view_back));
    Button picView_viewMode_button = (Button) (viewGroup.findViewById(R.id.image_view_mode));
    Button picView_previous_button = (Button) (viewGroup.findViewById(R.id.image_view_previous));
    Button picView_next_button = (Button) (viewGroup.findViewById(R.id.image_view_next));

    Button mVideoPlayButton = (Button) (viewGroup.findViewById(R.id.video_view_play_video));
    final TextView videoView_currPosition = (TextView) (viewGroup.findViewById(R.id.video_current_pos));
    SeekBar videoView_seekBar = (SeekBar) (viewGroup.findViewById(R.id.video_seek_bar));

    // Set video play button listener
    if (UtilVideo.hasVideoExtension(strPicture, act)) {
        mVideoPlayButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                System.out.println("NoteUi / setPictureView_listeners / mVideoPlayButton / getVideoState() = "
                        + UtilVideo.getVideoState());

                if ((BackgroundAudioService.mMediaPlayer != null)
                        && (Audio_manager.getPlayerState() != Audio_manager.PLAYER_AT_STOP)
                        && (UtilVideo.getVideoState() != UtilVideo.VIDEO_AT_PLAY)) {
                    // Dialog: confirm to disable audio or not
                    AlertDialog.Builder builder = new AlertDialog.Builder(act);
                    builder.setTitle(R.string.title_playing_audio).setMessage(R.string.message_continue_or_stop)
                            .setPositiveButton(R.string.btn_Stop, new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    Audio_manager.stopAudioPlayer();

                                    UtilVideo.changeVideoState();
                                    UtilVideo.playOrPauseVideo(pager, strPicture);
                                }
                            }).setNegativeButton(R.string.btn_Continue, new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    UtilVideo.changeVideoState();
                                    UtilVideo.playOrPauseVideo(pager, strPicture);
                                }
                            }).show();
                } else {
                    UtilVideo.changeVideoState();
                    UtilVideo.playOrPauseVideo(pager, strPicture);
                    updateVideoPlayButtonState(pager, getFocus_notePos());
                }
            }
        });
    } else if (Util.isYouTubeLink(linkUri)) {
        mVideoPlayButton.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_media_play, 0, 0, 0);
        mVideoPlayButton.setVisibility(View.VISIBLE);
        // set listener for running YouTube
        mVideoPlayButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                System.out.println(
                        "NoteUi / _setPictureView_listeners / onClick to play YouTube / linkUri = " + linkUri);

                // apply native YouTube
                //                    Util.openLink_YouTube(act, linkUri);

                // apply YouTube DATA API for note view
                Intent intent = new Intent(act, YouTubePlayerAct.class);
                act.startActivityForResult(intent, Util.YOUTUBE_LINK_INTENT);
            }
        });
    } else if (Util.isEmptyString(strPicture) && linkUri.startsWith("http")
            && !UtilImage.hasImageExtension(linkUri, act) && //filter: some link has image extension
            Note.isViewAllMode()) {
        // set listener for running browser
        if (viewGroup != null) {
            CustomWebView linkWebView = ((CustomWebView) viewGroup.findViewById(R.id.link_web_view));
            linkWebView.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    if (event.getAction() == MotionEvent.ACTION_DOWN) {
                        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(linkUri));
                        act.startActivity(i);
                    }
                    return true;
                }
            });
        }
    }

    // view mode
    // picture only
    if (Note.isPictureMode()) {
        // image: view back
        picView_back_button.setCompoundDrawablesWithIntrinsicBounds(
                R.drawable.ic_menu_back /*android.R.drawable.ic_menu_revert*/, 0, 0, 0);
        // click to finish Note_view_pager
        picView_back_button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                // remove current link web view
                int position = getFocus_notePos();
                String tagPictureStr = "current" + position + "pictureView";
                ViewGroup pictureGroup = (ViewGroup) pager.findViewWithTag(tagPictureStr);
                if (pictureGroup != null) {
                    CustomWebView linkWebView = ((CustomWebView) pictureGroup.findViewById(R.id.link_web_view));
                    CustomWebView.pauseWebView(linkWebView);
                    CustomWebView.blankWebView(linkWebView);
                }

                // set not full screen
                Util.setFullScreen_noImmersive(act);

                // back to view all mode
                Note.setViewAllMode();
                Note.setOutline(act);
            }
        });

        // image: view mode
        picView_viewMode_button.setCompoundDrawablesWithIntrinsicBounds(android.R.drawable.ic_menu_view, 0, 0,
                0);
        // click to select view mode
        picView_viewMode_button.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {
                TextView audio_title_text_view = (TextView) act.findViewById(R.id.pager_audio_title);
                audio_title_text_view.setSelected(false);

                //Creating the instance of PopupMenu
                popup = new PopupMenu(act, view);

                //Inflating the Popup using xml file
                popup.getMenuInflater().inflate(R.menu.pop_up_menu, popup.getMenu());

                //registering popup with OnMenuItemClickListener
                popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                    public boolean onMenuItemClick(MenuItem item) {

                        switch (item.getItemId()) {
                        case R.id.view_all:
                            Note.setViewAllMode();
                            Note.setOutline(act);
                            break;
                        case R.id.view_picture:
                            Note.setPictureMode();
                            Note.setOutline(act);
                            break;
                        case R.id.view_text:
                            Note.setTextMode();
                            Note.setOutline(act);
                            break;
                        }
                        return true;
                    }
                });

                popup.setOnDismissListener(new PopupMenu.OnDismissListener() {
                    @Override
                    public void onDismiss(PopupMenu menu) {
                        TextView audio_title_text_view = (TextView) act.findViewById(R.id.pager_audio_title);
                        if (BackgroundAudioService.mMediaPlayer != null) {
                            if (BackgroundAudioService.mMediaPlayer.isPlaying()) {
                                AudioUi_note.showAudioName(act);
                                audio_title_text_view.setSelected(true);
                            }
                        } else
                            audio_title_text_view.setSelected(false);
                    }
                });
                popup.show();//showing pop up menu, will show status bar

                // for transient popup
                cancel_UI_callbacks();
                Note_adapter.picUI_primary = new NoteUi(act, pager, pager.getCurrentItem());
                Note_adapter.picUI_primary.tempShow_picViewUI(5005, strPicture);
            }
        });

        // image: previous button
        picView_previous_button.setCompoundDrawablesWithIntrinsicBounds(android.R.drawable.ic_media_previous, 0,
                0, 0);
        // click to previous
        picView_previous_button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                setFocus_notePos(getFocus_notePos() - 1);
                pager.setCurrentItem(pager.getCurrentItem() - 1);
            }
        });

        // image: next button
        picView_next_button.setCompoundDrawablesWithIntrinsicBounds(android.R.drawable.ic_media_next, 0, 0, 0);
        // click to next
        picView_next_button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                setFocus_notePos(getFocus_notePos() + 1);
                pager.setCurrentItem(pager.getCurrentItem() + 1);
            }
        });
    }

    // video view: apply media control customization or not
    if (Note.isPictureMode() || Note.isViewAllMode()) {
        if (!UtilVideo.hasMediaControlWidget) {
            // set video seek bar listener
            videoView_seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
                // onStartTrackingTouch
                @Override
                public void onStartTrackingTouch(SeekBar seekBar) {
                    System.out.println("NoteUi / _onStartTrackingTouch");
                    if ((UtilVideo.mVideoPlayer == null) && (UtilVideo.mVideoView != null)) {
                        if (Build.VERSION.SDK_INT >= 16)
                            UtilVideo.mVideoView.setBackground(null);
                        else
                            UtilVideo.mVideoView.setBackgroundDrawable(null);

                        UtilVideo.mVideoView.setVisibility(View.VISIBLE);
                        UtilVideo.mVideoPlayer = new VideoPlayer(act, pager, strPicture);
                        UtilVideo.mVideoView.seekTo(UtilVideo.mPlayVideoPosition);
                    }
                }

                // onProgressChanged
                @Override
                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                    System.out.println("NoteUi / _onProgressChanged");
                    if (fromUser) {
                        // show progress change
                        int currentPos = videoFileLength_inMilliSeconds * progress / (seekBar.getMax() + 1);
                        // update current play time
                        videoView_currPosition.setText(Util.getTimeFormatString(currentPos));

                        //add below to keep showing seek bar
                        if (Note.isPictureMode())
                            show_picViewUI_previous_next(true, mPosition);
                        showSeekBarProgress = true;
                        if (handler != null)
                            handler.removeCallbacks(runnableHideUi);
                        tempShow_picViewUI(3001, strPicture); // for 3 seconds, _onProgressChanged
                    }
                }

                // onStopTrackingTouch
                @Override
                public void onStopTrackingTouch(SeekBar seekBar) {
                    System.out.println("NoteUi / _onStopTrackingTouch");
                    if (UtilVideo.mVideoView != null) {
                        int mPlayVideoPosition = (int) (((float) (videoFileLength_inMilliSeconds / 100))
                                * seekBar.getProgress());
                        if (UtilVideo.mVideoPlayer != null)
                            UtilVideo.mVideoView.seekTo(mPlayVideoPosition);
                        if (handler != null)
                            handler.removeCallbacks(runnableHideUi);
                        tempShow_picViewUI(3002, strPicture); // for 3 seconds, _onProgressChanged
                    }
                }
            });
        }
    }
}