こんにちは。TAK(@tak_dcxi)です。 今回記事にするのはタイトル通り「デザイナーとフロントエンドエンジニアに知ってほしいWebのフォント周り」についてです。以前ツイートしましたが、特に説明もなかったので自分の備忘録も兼ねて。 Androidに明朝体は無い Apple製品しか利用しないデザイナーの方に話したら非常に驚かれるのですが、Androidにはデフォルトで明朝体は入っていないです。 よく明朝体マシマシのデザインを見かけたりするのですが、デバイスフォントだけではAndroidでそのデザインを実現することは不可能だと思っておいたほうが良いでしょう。 ただ、明朝体のWebフォントを利用すればAndroidでも明朝体は表示できるので、デザイン的に明朝体が必須って場合はWebフォントを利用しない手は無いと思います。 個人的見解ですが、デザイン重視なら明朝体はGoogle FontsでN
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Yahoo! JAPAN でモバイルアプリのCI環境や社内配信システムの開発運用を行っている堀です。 最近 OSS として公開した AppFeedback というモバイルアプリ向けの SDK を紹介します。 https://github.com/yahoojapan/AppFeedback-ios https://github.com/yahoojapan/AppFeedback-android AppFeedback とは AppFeedback はアプリからバグ報告や改善要望といったフィードバックを簡単に Slack に投稿できるようにするモバイルアプリ向けの SDK です。iOS と Android に対応してい
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 「AndroidはiOSと同じデザインで!」と言われてどう実装しようか悩んでる方向けの記事です。 Androidアプリを作るなら当然マテリアルデザインガイドラインに合わせて1から画面設計するのが最高なんですが、そうはいかないことが経験上多いので対応案をざっくりまとめました。 諸注意 これは「iOSとAndroidのUI対応一覧」ではありません。 iOSとAndroidで同じような見た目のUI部品でも作られた経緯や目的は違うので、比較して置き換えるようなことは基本的にできないと思います。 とはいえなんの指標もないと辛いの
米Googleは2月27日(現地時間)、スペインのバルセロナで開催の「Mobile World Congress 2018」で、iOSおよびAndroidアプリ開発のためのSDK「Flutter」のβ版を公開したと発表した。無料でオープンソースのSDKを専用サイトからダウンロードできる。 GoogleはFlutterを「記録的短時間でiOSとAndroidの高品質なネイティブUIを構築するためのモバイルUIフレームワーク」と説明する。C/C++、GoogleのWebアプリ開発向新言語「Dart」、Googleの2Dレンダリングエンジン「Skia」で構築した。「Android Studio」、米Microsoftの「Visual Studio Code」、米Appleの「Swift」、チェコJetBrainsの「IntelliJ IDEA」をサポートした。 α版は昨年のGoogle I/Oで
Androidのデータベース「SQLite」の使い方は? 今回は、AndroidアプリからSQLiteを使用する際の、コードレベルでの使い方をみていきましょう。 長くなりそうなので、3記事に分けたいと思います。 今回は、SQLiteOpenHelperというクラスの使い方について触れたいと思います。 今回は、データベースのオープン処理の説明になります。 行の追加・更新・削除編は下記のページをご覧下さい。 Androidアプリのデータ保存方法の一つ「SQLite」の使い方 行の追加・更新・削除編 レコードの検索編は下記のページをご覧下さい。 Androidアプリのデータ保存方法の一つ「SQLite」の使い方 レコード検索編 まず、Androidでは、データの保存形式として、今回のSQLiteの他にも、「プリファレンス」「ローカルファイル」があります。以前にこれらの記事を書いています。 And
戻るボタンで前のページに戻る @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_BACK) { if (webView.canGoBack()) { webView.goBack(); } else { // 戻れない場合の処理 // (終了確認ダイアログ表示など) } return true; } return super.onKeyDown(keyCode, event); } 内容の保持 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(saved
上記のようにTextViewやPlainText、Button等の枠に 角丸や枠線を加える方法。 【構成】 角丸・枠線・角丸と枠線の3種類のファイルを用意する手順として まずは、PracticeHome > res へ新規で「drawable」というフォルダを作成する。 下記の3つのxmlファイルを作成し、「drawable」フォルダへ保存する。 【上】角丸 PracticeHome > res > drawable > corner_round.xml (←任意のファイル名) <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <!-- 背景色 --> <solid a
はじめに(この記事はもう内容が古いので注意してくださいね) Androidアプリの制作において、押さえておけばもしかしたら幸せになれるポイントがFragmentだと思います。 2年ぶりにAndroidネィティブに関わってAndroidStudioを使い初めて2ヶ月ですが、標準のジェネレーターでつくれる標準のデザインパターンからFragmentの使い方に慣れるためのチュートリアルを作ってみました。 以下、いいわけ 基本的に画面はFragment単位で設計するように癖をつけるとデザインの変更に強く、他のアプリを作るときにも使い回しがしやすい実装になりやすいです。 Android Studioが自動作成するデザインモデルのテンプレートもFragmentで構成されている場合が多いので、Fragmentに慣れているだけでかなり心理的に楽になれます。 Androidの入門書の入り口くらいは見たけどFr
Android StudioでFaceBook SDKやその他外部ライブラリ読み込み時にはまりそうなところがあるので備忘録 *参考:http://sakebook.hatenablog.com/entry/2014/08/17/004540 ローカルにjarファイルをダウンローとして使う場合、appディレクトリ直下にlibsディレクトリを作ってそこにjarファイルを設置。/プロジェクト名/app/build.gradleに dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile files ('libs/ hoge-1.0.jar') }記述して「Sync Now」をクリックすればOK。 dependencies { compile fileTree(dir: 'libs', include: ['*
Google I/O 2013でAndroid StudioというIDEが発表され、旧来のEclipse環境で開発していたプロジェクトを移行する方法を紹介します。 EclipseのADTプラグイン(ver22)でAndroid Studio用に変換してエクスポートする機能が追加されました。 そのためEclipseのプラグインをアップデートしてエクスポートすることでAndroid Studioへインポートすることが可能です。 今回はEclipseで作成している次のようなファイル構成の状態のプロジェクトをインポートしてみましょう。 中身はHelloWorldになっています。 やり方については続きをどうぞ。 移行するにはまずEclipseのADTプラグインのアップデートとSDKマネージャでアップデートを行います。 ADTのアップデートはここのADTインストールの項目の通りに行うとアップデートでき
Androidでは、CountDownTimerを用いて、簡単にタイマー機能を実装することが可能です。 ポイントは以下の二つです。 コールバック関数を実装したCountDownTimerを継承したクラスの作成 カウントダウンの開始と中止メソッドの実装 今回は、ボタンを押すと3分間のカウントダウンを開始するサンプルアプリを例に、タイマー機能の実装方法を解説します。 それでは続きをどうぞ MyCountDownTimerクラスの作成 CountDownTimerクラスを利用するには、CountDownTimerクラスを継承したクラス(ここではMyCountDownTimer)を作成します。 MyCountDownTimerクラスには、2つのコールバックメソッドを実装します。 実装後のソ−スコードは以下の通りです。 public class MyCountDownTimer extends Co
上図のように非同期(スレッド)処理中にプログレスダイアログを表示するには、 AsyncTask継承クラスへ onPreExecute() を追加してプログレスダイアログを表示する処理を記述し、 onPostExecute()、onCanceled()でプログレスダイアログを非表示とする処理を記述すれば良い。 package technoute.site.com.google.sites.sample.thread; import android.app.Activity; import android.app.ProgressDialog; import android.content.pm.ActivityInfo; import android.os.AsyncTask; import android.util.Log; import android.widget.TextView;
本稿では Android StudioでAndroid SDKのサンプルアプリをビルドする方法について解説します。サンプルをビルドするだけですが結構なハマりポイントがあったためです。 確認したバージョン Android Studio 1.0 RC4 です。 2014/12/4 時点での最新バージョンです。 動作方法 サンプルアプリのインポート [File] -> [Import Project] [(Android SDKのフォルダ)] -> [samples] -> [android-21] -> [(動かしたいアプリ)] を選択します。 なお、全てのアプリで本方法で動作確認したわけではありませんが、 legacy以外はこの方法で大丈夫だと思います。 自動的にビルドが走ります。ここで結構な時間がかかります。 Gradle プラグインのバージョンの手直し 「The project is u
Galaxy S4のWebviewで、非同期処理の中でのCanvasの描画がバグってる というエントリを書いて放置していたところいくつか解決方法を書いてくださった方がいて、それらを参考に再び戦ってみました。 その1. Create.JSの場合 http://blog.happyelements.co.jp/2013/08/love-peace-and-android.html Stageをクリアすればいいらしいということでそこのコードでやっていた処理をそのまま持ってきて見ましたがうまくいきませんでした...。 https://github.com/CreateJS/EaselJS/blob/master/src/easeljs/display/Stage.js // 擬似コード var canvas = document.getElementById("canvas"); var ctx
エンジニアの草苅です。 スマートフォンを扱うエンジニアの皆さんは、日々Android のバグに悩まされているのではないかと思います。弊社も類に漏れず様々な Android のバグと戦っています。 特にあんさんぶるガールズ!ではアニメーションはすべて Canvas を利用していることもあり、Android の Canvas 絡みのバグに、頭を痛めています。 Android のバッドノウハウは悩んでいる人みんなで共有した方が、世のため人のためになるのではと思い立ったので、世界平和を願っていくつかまとめてみたいと思います。 1. GPUレンダリングの設定によって Canvas で不具合が発生する Android は OS のバージョンや、WebView のレンダリングエンジンの違いによって、GPUレンダリングOFFの場合に、Canvas が正常に表示できない端末、もしくはGPUレンダリングONの
以下はRelativeLayoutを使った具体的な例になります。 main.xml<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/button1" android:text="BUTTON1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="50px" /> <Button android:
RelativeLayoutは、名前のとおり相対的にウィジェットの配置をおこなうレイアウトである。 このレイアウトを調べていて、相対位置を指定するパラメータがいろいろとあって、違いを把握するのに苦労してしまった。 パラメータはいろいろとあるのだが、「何に対して相対的なのか?」,「上下の位置関係は?」,「左右の位置関係は?」 を、分類してみるとわかりやすくなるように思う。 親ウィジェットに対する相対位置を指定する 以下のパラメータを使って、親ウィジェットに対する相対位置を指定して、ウィジェットの配置をおこなうことができる。 横軸の位置を指定するパラメーター。 左側に配置:layout_alignParentLeft 中央に配置:layout_centerHorizontal 右側に配置:layout_alignParentRight 縦軸の位置を指定するパラメーター。 上側に配置:layou
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く