この記事で解説している AndroidX Core SplashScreen のバージョンは 1.0.0 です。 Android 12 からアプリ起動時にスプラッシュ画面 (Splash Screen) が表示されるようになりました。 また、アプリ独自のスプラッシュ画面を実装している場合に、targetSdk = 31 (Android 12) 以上にすると Lint がスプラッシュ画面と思われる Activity について、以下の Warning を表示するようになります。 The application should not provide its own launch screen この記事では既存のアプリを Android 12 以上のスプラッシュ画面に対応する場合の具体的な手段についてまとめています。 公式ドキュメントにはスプラッシュ画面の説明とマイグレーションガイドが存在します
Android StudioからKotlinで開発していくうち、 ビルド、インストールしようとしても、何度やっても「Application Installation Failed」となってしまう問題に行き当たったので対策のメモです。 Intelli J IDEAでも遭遇するかもしれません。 Android Studio でRunボタンを押して、ビルド、エミュレータ・端末へのインストールが始まった後に、 こんなエラーに行き当たりました。 Application Installation Failed Installation failed with message Failed to establish session. It is possible that this issue is resolved by uninstalling an existing version of the
どの ID を識別に使用すべきか? 現在、私が参照しているコードは AOSP の Android 4.2.1_r1.2 ですが、 UserId を取得する UserHandle.myUserId() や AppId を取得する UserHandle.getAppId() に @hide属性がついています。 つまり、正規の手段では呼ぶことが出来ません。 どうしても UserId が欲しい場合は、自分で uid を 100000 で割るか、リフレクションを使用するしかないようです。 しかし、そういう実装は新たな不具合の原因となるので、極力避けるべきでしょう。 それに対し、UserManager.getSerialNumberForUser() に @hide属性は付いていませんし、その javadoc には以下のように書いてあります。 Return the serial number for
角丸のViewを作りたい場合は、以下のようなxmlを用意して対象のViewのBackgrounに指定することで実現できます。 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <solid android:color="#fff" > </solid> <corners android:radius="30dp" /><!-- 角の丸みを調節 --> </shape> それを↑の画像のように1箇所だけ角丸にしたい場合は、以下のようなxmlを定義する必要があります。 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:
今回は、WebView内に書かれたJavaScriptをアプリ側から起動したり、 HTML内のリンクタップをアプリ側で検知したり、 アプリ側からJavaScriptを介す事によって値をWebView内へ渡したり、 逆にWebView内の値をアプリへ渡す様な相互連携を行う方法について サンプルコード付きで解説します。 まずは、アプリを外部のインターネットへ接続出来る様に権限を指定する必要がありますので、 権限の付加方法から解説しましょう。 マニュフェストの設定でインターネット通信を許可しよう アプリ内のブラウザ。webViewを設置しよう WebViewに対してJavaScriptを実行しよう リンクタップ等、ロケーションの変更を検知する マニュフェストの設定でインターネット通信を許可しよう デフォルトでは、アプリから外部のインターネットへ接続する事は出来ません。 そこで、アプリ毎にインター
ButtonやImageViewをアニメーションさせるにはProperty Animationやandroid.view.animationを使うと簡単ですが、込み入ったアニメーション(円弧のアニメとか)は難しいところがあります。 Aimationクラスを継承してCanvasで描画する方法はある程度複雑な動きもカスタムで作りだせます。 Simple な Animation 簡単なAnimationを継承したクラスを使ってみます。 Canvasにある矩形(画像)が落下するアニメーションを考えてみます。 矩形は (left, top, right, bottom)で位置決めしますので、このY軸に相当するtop, bottomの位置を変化させて、矩形が下に落ちていくアニメーションにすればいいわけです。 アニメーションを実現させるためにタイマーを使う方法もありますが、Animation class
何がしたいか ・Viewをタップしたときにアニメーションに合わせてExpandしたりCollapseしたい こんな感じ。 ViewのVisibiltyを切り替えればExpandしたりCollapseできるけど、アニメーションは付けられない。 View#animate()とかで開閉するアニメーションをしても上手く行きません。詳しくは後述。 結論 ・ViewをリサイズするためにAnimationクラスを継承したResizeAnimationを作る 参考: http://stackoverflow.com/questions/8063466/how-to-expand-a-layout-height-with-animation animate()やstartAnimation()でアニメーションしたとき 実はViewのサイズや位置情報は変更されてないのです。 だから、Layoutをこんな風にし
Android Oで色々と機能が追加されたので、色々試してみたいですが、先ずは「Android O Features and APIs」の冒頭で紹介されているNotificationsのNotification Channelsを試してみました。 以前の投稿でAndroid Studio 2.4 Preview3のインストールとPixelエミュレータの起動まではできたので、その環境で実装していきます。まぁ、基本的には公式のサンプル通りですが。 Android Studioのメニューから「File > New > New Project」と選択して適当にプロジェクトを作ります。プロジェクト名は分かりやすく(?)「Oreo」にしました。Activityの種類は「Empty Activity」にしました。 途中、Android Studioのアップデートがあるというポップアップが表示されたので、
This week we saw the announcement of the first Android-O developer preview. One of the features of this announcement includes Notification Channels — in this article we’re going to take a look at exactly what these are and how we can make use of them within our applications! Notification Channels provide us with the ability to group the notifications that our application sends into manageable grou
初めてQiitaに投稿させてもらいます! 今までは多くの方々の記事を見て、たくさん勉強をさせてもらっていましたが、自分も多くの方々の参考になるような記事を書いていけるよう努めますので、よろしくお願いします。 本題ですが、TabLayoutを使用しているときに、ActivityのToolbarのメニューをクリックしてFragmentのメソットを呼びたかったのですが、分かりやすく書いているページがすぐには見つからなかったのでまとめます。 まずは、TabLayoutとViewPagerを使ったシンプルなタブの実装を紹介します。タブの実装を紹介している記事は多くありますが、この記事ではMaterialDesignを考慮したりして作っていこうと思います。次の記事でActivityからFragmentを操作する方法とFragmentからActivityを操作する方法をまとめようと思います。 タブの実装
SlidingDrawerとは SlidingDrawerは、ハンドルを引き出して新しい画面を表示させるためのウィジェットです。 Android端末のホーム画面でも、上から下にスライドして通知画面を表示させるというように使われています。 SlidingDrawerを配置する SlidingDrawerはレイアウトエディタのパレットの「コンポジット」から配置できます。 パレット内のSlidingDrawerを、配置したい場所までドラッグしましょう。 ※SlidingDrawerは、APIレベル17で非推奨となりました。パレットに出てこない場合は、下記のソースコードをレイアウトファイルに貼り付けてください。 この状態でxmlタブを見ると、「<LinearLayout」の下に赤い波線があります。これはエラーが発生していることを示しています。 グラフィカルレイアウトタブに戻り、Component
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く