Android だけではありません.
iPhone やタブレットやMacなどすべてが
分かりやすくまとめられています.
Device Metrics - Google Design
いままでなんでなかったのか.
とりあえず, デザインや開発に便利に使えますね.
Android だけではありません.
iPhone やタブレットやMacなどすべてが
分かりやすくまとめられています.
Device Metrics - Google Design
いままでなんでなかったのか.
とりあえず, デザインや開発に便利に使えますね.
[I/O 2015] Chrome Custom Tabs Will Add Easy And Rich Web Content To Any App With Chrome Capabilities
サービス経由で「ウォームアップ」,「URL先読み」を行って
高速に開く.
公開されている Googleサンプルのうち利用するヘルパークラスなどは
前回エントリを参照.
ウォームアップも同時に行う.
アクテビティのライフサイクルに合わせて.
public class SampleActivity extends AppCompatActivity implements CustomTabActivityHelper.ConnectionCallback { private CustomTabActivityHelper mCustomTabActivityHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mCustomTabActivityHelper = new CustomTabActivityHelper(); mCustomTabActivityHelper.setConnectionCallback(this); } @Override protected void onStart() { super.onStart(); mCustomTabActivityHelper.bindCustomTabsService(this); } @Override protected void onStop() { super.onStop(); mCustomTabActivityHelper.unbindCustomTabsService(this); } @Override protected void onDestroy() { super.onDestroy(); mCustomTabActivityHelper.setConnectionCallback(null); } @Override public void onCustomTabsConnected() { } @Override public void onCustomTabsDisconnected() { } }
開くであろうURLが確定した時点でバックグランドで先読み.
mCustomTabActivityHelper.mayLaunchUrl(uri, null, null);
前回とほぼ同じ.
タイトル, アニメーションを付けてなめらかな体感に.
R.anim.slide_* はサンプルのものを利用.
CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder(mCustomTabActivityHelper.getSession()) .setShowTitle(true) .setStartAnimations(this, R.anim.slide_in_right, R.anim.slide_out_left) .setExitAnimations(this, android.R.anim.slide_in_left, android.R.anim.slide_out_right) .build(); CustomTabActivityHelper.openCustomTab(this, customTabsIntent, uri, new WebViewFallback());
public class SampleActivity extends AppCompatActivity implements CustomTabActivityHelper.ConnectionCallback { private CustomTabActivityHelper mCustomTabActivityHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mCustomTabActivityHelper = new CustomTabActivityHelper(); mCustomTabActivityHelper.setConnectionCallback(this); } private void preFetchUrl(Uri uri) { mCustomTabActivityHelper.mayLaunchUrl(uri, null, null); } private void open(Uri uri) { CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder(mCustomTabActivityHelper.getSession()) .setShowTitle(true) .setStartAnimations(this, R.anim.slide_in_right, R.anim.slide_out_left) .setExitAnimations(this, android.R.anim.slide_in_left, android.R.anim.slide_out_right) .build(); CustomTabActivityHelper.openCustomTab(this, customTabsIntent, uri, new WebViewFallback()); } @Override protected void onStart() { super.onStart(); mCustomTabActivityHelper.bindCustomTabsService(this); } @Override protected void onStop() { super.onStop(); mCustomTabActivityHelper.unbindCustomTabsService(this); } @Override protected void onDestroy() { super.onDestroy(); mCustomTabActivityHelper.setConnectionCallback(null); } @Override public void onCustomTabsConnected() { } @Override public void onCustomTabsDisconnected() { } }
イベントからプリフェッチしてからのオープンすればよい.
しかし「先読みのタイミング」て…
(つづく)
なんなんだよ!!
フツーにコピペしたいだけなのにへんな装飾までついてきちゃう.
テキストだけ貼り付けたい.
装飾なしで貼る
Command + Shift + V
ということなのだが いつも貼ったあとにイラ.
以下, そんな場合の事後処理.
装飾のみを削除(該当文字選択後)
Command + Shift + F
文字についたリンクの削除(リンクされた文字のみ選択)
Command + Shift + K
太字をノーマルに(ON/OFFトグル)
Command + B
Evernote + Mac 限定なショートカットだけに
すぐに忘れる.
「CheatSheet」でもショートカット一覧はみれるが
逆に多すぎて探すのに時間がかかったり,
載ってないショートカットもあったりする.
高機能なアプリやソフトが多すぎて
逆にイライラすることはないですか?