android.app.Fragment#isVisible ( )源码实例Demo

下面列出了android.app.Fragment#isVisible ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: catnut   文件: MainActivity.java
/**
 * 切换fragment,附带一个动画效果
 *
 * @param fragment
 * @param tag      没有赋null即可
 */
private void pendingFragment(Fragment fragment, String tag) {
	FragmentManager fragmentManager = getFragmentManager();
	Fragment tmp = fragmentManager.findFragmentByTag(tag);
	if (tmp == null || !tmp.isVisible()) {
		fragmentManager
				.beginTransaction()
				.setCustomAnimations(
						R.animator.fragment_slide_left_enter,
						R.animator.fragment_slide_left_exit,
						R.animator.fragment_slide_right_enter,
						R.animator.fragment_slide_right_exit
				)
				.replace(R.id.fragment_container, fragment, tag)
				.addToBackStack(null)
				.commit();
		mScrollSettleHandler.post(new Runnable() {
			@Override
			public void run() {
				invalidateOptionsMenu();
			}
		});
	}
}
 
源代码2 项目: maps-app-android   文件: MapsAppActivity.java
/**
 * Opens the content browser that shows the user's maps.
 */
private void showContentBrowser() {
	FragmentManager fragmentManager = getFragmentManager();
	Fragment browseFragment = fragmentManager.findFragmentByTag(ContentBrowserFragment.TAG);
	if (browseFragment == null) {
		browseFragment = new ContentBrowserFragment();
	}

	if (!browseFragment.isVisible()) {
		FragmentTransaction transaction = fragmentManager.beginTransaction();
		transaction.add(R.id.maps_app_activity_content_frame, browseFragment, ContentBrowserFragment.TAG);
		transaction.addToBackStack(null);
		transaction.commit();

		invalidateOptionsMenu(); // reload the options menu
	}

	mDrawerLayout.closeDrawers();
}
 
源代码3 项目: Linphone4Android   文件: LinphoneActivity.java
public void displayContact(LinphoneContact contact, boolean chatOnly) {
	Fragment fragment2 = getFragmentManager().findFragmentById(R.id.fragmentContainer2);
	if (fragment2 != null && fragment2.isVisible() && currentFragment == FragmentsAvailable.CONTACT_DETAIL) {
		ContactDetailsFragment contactFragment = (ContactDetailsFragment) fragment2;
		contactFragment.changeDisplayedContact(contact);
	} else {
		Bundle extras = new Bundle();
		extras.putSerializable("Contact", contact);
		extras.putBoolean("ChatAddressOnly", chatOnly);
		changeCurrentFragment(FragmentsAvailable.CONTACT_DETAIL, extras);
	}
}
 
@Override
public void onBackPressed() {
    FragmentManager fragmentManager = getFragmentManager();
    Fragment fragment = fragmentManager.findFragmentByTag(FRAGMENT_TAG_HOME);
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    if (drawer.isDrawerOpen(GravityCompat.START)) {
        drawer.closeDrawer(GravityCompat.START);
    } else if (fragment != null && fragment.isVisible()) {
        if(backPressedOnce){
            finish();
        }
        if(!backPressedOnce)
            Toast.makeText(this, "Tap back once more to exit.", Toast.LENGTH_SHORT).show();
        backPressedOnce=true;
        new Handler().postDelayed(new Runnable()
        {
            @Override
            public void run()
            {
                backPressedOnce= false;
            }
        }, 2000);
    } else {
        fragmentManager.beginTransaction().setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
                .replace(R.id.container, new HomeFragment(), FRAGMENT_TAG_HOME).commit();
        if (getSupportActionBar() != null) {
            getSupportActionBar().setTitle(R.string.app_name);
        }
        navigationView.setCheckedItem(R.id.nav_home);
    }
}
 
源代码5 项目: rss   文件: Utilities.java
private static
void switchToFragment(Fragment fragment, boolean addToBackStack)
{
    if(fragment.isHidden())
    {
        Fragment[] fragments = {
                s_fragmentFavourites, s_fragmentManage, s_fragmentFeeds, s_fragmentSettings
        };
        FragmentTransaction transaction = s_fragmentManager.beginTransaction();

        for(Fragment frag : fragments)
        {
            if(frag.isVisible())
            {
                transaction.hide(frag);
            }
        }
        transaction.show(fragment);
        if(addToBackStack)
        {
            transaction.addToBackStack(null);

            // Set the default transition for adding to the stack.
            transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        }
        transaction.commit();
        s_fragmentManager.executePendingTransactions();
        fragment.getActivity().invalidateOptionsMenu();
    }
}
 
源代码6 项目: Linphone4Android   文件: LinphoneActivity.java
public void displayHistoryDetail(String sipUri, LinphoneCallLog log) {
	LinphoneAddress lAddress;
	try {
		lAddress = LinphoneCoreFactory.instance().createLinphoneAddress(sipUri);
	} catch (LinphoneCoreException e) {
		Log.e("Cannot display history details",e);
		//TODO display error message
		return;
	}
	LinphoneContact c = ContactsManager.getInstance().findContactFromAddress(lAddress);

	String displayName = c != null ? c.getFullName() : LinphoneUtils.getAddressDisplayName(sipUri);
	String pictureUri = c != null && c.getPhotoUri() != null ? c.getPhotoUri().toString() : null;

	String status;
	if (log.getDirection() == CallDirection.Outgoing) {
		status = getString(R.string.outgoing);
	} else {
		if (log.getStatus() == CallStatus.Missed) {
			status = getString(R.string.missed);
		} else {
			status = getString(R.string.incoming);
		}
	}

	String callTime = secondsToDisplayableString(log.getCallDuration());
	String callDate = String.valueOf(log.getTimestamp());

	Fragment fragment2 = getFragmentManager().findFragmentById(R.id.fragmentContainer2);
	if (fragment2 != null && fragment2.isVisible() && currentFragment == FragmentsAvailable.HISTORY_DETAIL) {
		HistoryDetailFragment historyDetailFragment = (HistoryDetailFragment) fragment2;
		historyDetailFragment.changeDisplayedHistory(lAddress.asStringUriOnly(), displayName, pictureUri, status, callTime, callDate);
	} else {
		Bundle extras = new Bundle();
		extras.putString("SipUri", lAddress.asString());
		if (displayName != null) {
			extras.putString("DisplayName", displayName);
			extras.putString("PictureUri", pictureUri);
		}
		extras.putString("CallStatus", status);
		extras.putString("CallTime", callTime);
		extras.putString("CallDate", callDate);

		changeCurrentFragment(FragmentsAvailable.HISTORY_DETAIL, extras);
	}
}
 
源代码7 项目: catnut   文件: MainActivity.java
@Override
public void onClick(View v) {
	int id = v.getId();
	Fragment fragment = null;
	String tag = null;
	mDrawerLayout.closeDrawer(mQuickReturnDrawer);
	switch (id) {
		case R.id.tweets_count:
		case R.id.action_my_tweets:
			fragment = UserTimelineFragment.getFragment(mApp.getAccessToken().uid, mApp.getPreferences().getString(User.screen_name, null));
			tag = UserTimelineFragment.TAG;
			break;
		case R.id.following_count:
			fragment = MyRelationshipFragment.getFragment(true);
			tag = "true";
			break;
		case R.id.followers_count:
			fragment = MyRelationshipFragment.getFragment(false);
			tag = "false";
			break;
		case R.id.action_my_favorites:
			fragment = FavoriteFragment.getFragment();
			tag = FavoriteFragment.TAG;
			break;
		case R.id.action_my_drafts:
			fragment = DraftFragment.getFragment();
			tag = DraftFragment.TAG;
			break;
		case R.id.action_share_app:
			Intent intent = new Intent(Intent.ACTION_SEND);
			intent.setType(getString(R.string.mime_image));
			intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.share_app));
			intent.putExtra(Intent.EXTRA_TEXT, getString(R.string.share_text));
			intent.putExtra(Intent.EXTRA_STREAM,
					Uri.fromFile(new File(getExternalCacheDir() + File.separator + Constants.SHARE_IMAGE)));
			startActivity(intent);
			return;
		case R.id.action_view_source_code:
			startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.github_link))));
			return;
		case R.id.new_tweet:
			// 回掉主页时间线
			Fragment home = getFragmentManager().findFragmentByTag(HomeTimelineFragment.TAG);
			// never null, but we still check it.
			if (home == null || !home.isVisible()) {
				fragment = HomeTimelineFragment.getFragment();
				tag = HomeTimelineFragment.TAG;
			} else {
				if (mRefreshCallback != null) {
					mRefreshCallback.callback(null);
				}
			}
			mNewTweet.setText("0");
			break;
		case R.id.new_mention:
			fragment = MentionTimelineFragment.getFragment();
			tag = MentionTimelineFragment.TAG;
			mNewMention.setText("0");
			break;
		case R.id.new_comment:
			fragment = ConversationFragment.getFragment();
			tag = ConversationFragment.TAG;
			mNewComment.setText("0");
			break;
		case R.id.action_my_list:
		default:
			Toast.makeText(this, "sorry, not yet implemented =.=", Toast.LENGTH_SHORT).show();
			return;
	}
	if (fragment != null) {
		pendingFragment(fragment, tag);
	}
}