Here are the examples of the java api class com.google.android.apps.dashclock.render.SimpleRenderer taken from open source projects.
1. DaydreamService#renderDaydream()
Project: dashclock
File: DaydreamService.java
File: DaydreamService.java
private void renderDaydream(final boolean restartAnimation) { if (!mAttached || mExtensionManager == null) { return; } if (restartAnimation) { // Only modify fullscreen state if this render will restart an animation (enter a new // cycle) setFullscreen(true); } final Resources res = getResources(); mDaydreamContainer = (ViewGroup) findViewById(R.id.daydream_container); RootLayout rootContainer = (RootLayout) findViewById(R.id.daydream_root); if (mTravelDistance == 0) { mTravelDistance = rootContainer.getWidth() / 4; } rootContainer.setRootLayoutListener(new RootLayout.RootLayoutListener() { @Override public void onAwake() { mManuallyAwoken = true; setFullscreen(false); mHandler.removeCallbacks(mCycleRunnable); mHandler.postDelayed(mCycleRunnable, CYCLE_INTERVAL_MILLIS); mDaydreamContainer.animate().alpha(1f).rotation(0).scaleX(1f).scaleY(1f).translationX(0f).translationY(0f).setDuration(res.getInteger(android.R.integer.config_shortAnimTime)); if (mSingleCycleAnimator != null) { mSingleCycleAnimator.cancel(); } } @Override public boolean isAwake() { return mManuallyAwoken; } @Override public void onSizeChanged(int width, int height) { mTravelDistance = width / 4; } }); DisplayMetrics displayMetrics = res.getDisplayMetrics(); int screenWidthDp = (int) (displayMetrics.widthPixels * 1f / displayMetrics.density); int screenHeightDp = (int) (displayMetrics.heightPixels * 1f / displayMetrics.density); // Set up rendering SimpleRenderer renderer = new SimpleRenderer(this); DashClockRenderer.Options options = new DashClockRenderer.Options(); options.target = DashClockRenderer.Options.TARGET_DAYDREAM; options.foregroundColor = Color.WHITE; options.minWidthDp = screenWidthDp; options.minHeightDp = screenHeightDp; options.newTaskOnClick = true; options.onClickListener = this; options.clickIntentTemplate = WidgetClickProxyActivity.getTemplate(this); renderer.setOptions(options); // Render the clock face SimpleViewBuilder vb = renderer.createSimpleViewBuilder(); vb.useRoot(mDaydreamContainer); renderer.renderClockFace(vb, options.foregroundColor); vb.setLinearLayoutGravity(R.id.clock_target, Gravity.CENTER_HORIZONTAL); // Render extensions mExtensionsContainer = (ViewGroup) findViewById(R.id.extensions_container); mExtensionsContainer.removeAllViews(); List<ExtensionWithData> visibleExtensions = mExtensionManager.getVisibleExtensionsWithData(); for (ExtensionWithData ewd : visibleExtensions) { mExtensionsContainer.addView((View) renderer.renderExpandedExtension(mExtensionsContainer, null, false, ewd)); } if (mDaydreamContainer.getHeight() == 0 || mNeedsRelayout) { ViewTreeObserver vto = mDaydreamContainer.getViewTreeObserver(); if (vto.isAlive()) { vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { ViewTreeObserver vto = mDaydreamContainer.getViewTreeObserver(); if (vto.isAlive()) { vto.removeOnGlobalLayoutListener(this); } postLayoutRender(restartAnimation); } }); } mDaydreamContainer.requestLayout(); mNeedsRelayout = false; } else { postLayoutRender(restartAnimation); } }