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」でもショートカット一覧はみれるが
逆に多すぎて探すのに時間がかかったり,
載ってないショートカットもあったりする.
高機能なアプリやソフトが多すぎて
逆にイライラすることはないですか?