タグ

2012年3月16日のブックマーク (11件)

  • Button ,ToggleButton の背景を指定する方法 | Techfirm Android Lab

    標準のボタンのデザインを変更したい。 しかし、Background を変更したらなんだかボタンぽい動きじゃなくなった。 背景画像をひとつだけ設定すると、ボタンを押しても、フォーカスしても設定された画像だけが表示されるためボタンらしい動きをしなくなります。 ボタン(Button) と トグルボタン(ToggleButton)の背景を変更する方法を紹介します。 ボタンの背景として用意しなければならないのは画像ファイルだけで5つあります。 必要がなければ作らなくてもいいんですが、最低でも2つは用意しましょう。 標準状態(フォーカスなし、押されていない) フォーカス状態 プレス状態(押されている状態) ボタンがDisableで標準状態(フォーカスなし、押されていない) ボタンがDisableでフォーカス状態 9-patch で画像を作成します。9-patch って何?というのは省略させてくださ

  • LinearLayoutとRelativeLayoutの使い方をまとめてみた - プログラミング雑記

    Androidアプリで画面を作成する際、LinearLayoutとRelativeLayoutの使い方をしっかり把握しておかないと、後々苦労することが多いと思いますので、レイアウト構成を自分の知る範囲でまとめてみました。 LinearLayoutの場合 1 均等に配置 XML 2 余った幅全体に配置 XML 3 真ん中で2等分 XML 4 上記の縦バージョン XML RelativiLayoutの場合 5 両端固定幅、真ん中は幅いっぱい XML 6 上記のレイアウトに追従する形で配置 XML 7 上下に両端、真ん中配置のボタンを配置 XML 8 上記レイアウトの空白を埋める配置(ListView等) XML 9 上記レイアウト中央の両端に、ボタンを配置 XML 10 相互に作用する配置 XML LinearLayoutとRelativiLayoutを複合 11 ボタンの高さを任意のレイアウ

  • splash画面を作成してみる。 - 素人のアンドロイドアプリ開発日記

    splashとは、アプリケーション始まる時に、企業のロゴのマークなどが出てから遷移する部分の事(だと推測をしています。) テレビゲームなどでは一般的に使われている手法かと思います。 なのでsplashを作成してより印象的なアプリ開発をしてみたいと思います。 2つほど作成の方法があるので、2つの説明をしたいと思います。 1、一定の時間でintentを切り替える。 Splash(スプラッシュ)画面を表示させる方法 intentを一定時間後に切り替えを行う事で、画像などを表示をして、その後別のintentを表示する方法です。 仕様としては一秒後にHandlerを実行する仕様です。 Handler handler = new Handler(); handler.postDelayed(new splashRunnable(), 1000); class splashRunnable implem

  • Compatibility Package r3のViewPagerとPagerAdapterを使ってみる

    AndroidのCompatibility Package r3にViewPagerとPagerAdapterなるものが追加されていました。 これはどんなものかというと、Androidのホーム画面のように、スワイプ動作によって表示するViewを切り替えられるViewです。 すでにViewSwitcherやViewFlipperなるViewは存在しますが、それらとは違い、ページ切り替え用のイベントを実装する必要はありません。 ※ViewSwitcherやViewFlipperの場合はActivityのonTouchEventあたりをオーバーライドしてページ切り替えを実装します。 また、ホーム画面と同じような動作をしますので、スワイプを始めると、切り替え中の2つのViewが同時に表示されます。 以下のような感じです。 ・スワイプ前 ・スワイプ中 サンプルでは、Fragmentを使用した例があっ

    Compatibility Package r3のViewPagerとPagerAdapterを使ってみる
  • Android の Support Package r6

    Android の下位互換向け純正ライブラリであるところの Support Package が r6 にアップデートされてました。 Support Package | Android Developers http://developer.android.com/intl/ja/sdk/compatibility-library.html これは Android 3.0 で追加された Fragment とかの便利なクラスを Android 1.6 以降でも使えるようになったりする大変ありがたいライブラリですが、今回のアップデートで PagerTitleStrip が追加されていたので試してみました。 地味でぱっと見よくわからないスクリーンショットですけど、page 1 とかの部分がページタイトル、その下に各ページが表示されててこれが左右のフリックで切り替えられます。 要するに Google

    Android の Support Package r6
  • Wallpaper を替えてみた

    壁紙を替えるには WallpaperManager を使用します 替え方は setBitmap(Bitmap bitmap) setResource(int resid) setStream(InputStream data) の三つから指定します まず AndroidManifest でパーミッションを設定する必要があります AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" ... > ・ ・ ・ <uses-permission android:name="android.permission.SET_WALLPAPER" /> </manifest> サンプルコード public

    Wallpaper を替えてみた
  • Android sdk2.0のAPIを使用して壁紙を変更してみる | Techfirm Android Lab

    せっかく新しいAndroid sdk2.0が公開されたので 新しく使用できるようになった WallpaperManager を使用して壁紙を変更してみました。 以前はこんな感じで、Intentを使用すると壁紙変更画面が表示されユーザが画像を選択することができました。 //壁紙を変更するintentを作成 android.content.Intent intent = new android.content.Intent(android.content.Intent.ACTION_SET_WALLPAPER); //intentを送信 startActivity(intent); 以下のような選択画面が出てきて、選択することで壁紙を変更できました。 これがsdk 2.0からはWallpaperManagerを使用してユーザアプリケーションから壁紙を自由に変更できるようになったようです。実

  • Intentチュートリアル

    Androidでのアクティビティ間の連携 Androidではintentという形式でアクティビティ間の連携を取る。具体的には送り先とパラメータを詰めたIntentクラスを作成し、それをstartActivityメソッドで送りつける。Androidでは暗黙のintentと明示的なintentの二方式を用意しており、明示的なintentは送り先のアクティビティを指定して送信する。それに対して、暗黙的なintentはシステムに対してアクションとパラメータを送り、システムは登録されているアクティビティの中からアクションとパラメータの組み合わせを元に起動するアクティビティを決定する。まずは簡単な具体例(暗黙のintent)を見てみる。(ついでに画像ファイルの扱いも示す) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:androi

  • fchiba's memo [Android]ImageViewの表示サイズの決まり方(リライト)

    # http://fchiba.blog114.fc2.com/blog-entry-35.html をもう少しわかりやすく書きなおした。 # レイアウト計算の詳細を知らなくても読めるようになったはず。 ImageViewの表示サイズは、以下の要素によって決まります。 1. layout_width / layout_heightのパラメータ 2. Drawableの画像サイズ(IntrinsicWidth/Height) 3. minWidth / minHeight 4. maxWidth / maxHeight 5. BackgroundDrawable の画像サイズ(IntrinsicWidth/Height) 6. adjustViewBounds 7. padding 8. matrix 9. scaleType 10. cropToPadding このうち、1.~7.によって

  • 【Android】画面レイアウトでステータスバーの大きさを考慮する方法

    『ちょっとだけ立体風地図ビューワ』の画面レイアウトを作った時のことをまとめておきます。このアプリを作成した際に、私がやりたかったのは、タイトルバーは消すステータスバーは表示する残った領域をほぼ2分割して異なるViewを表示するといった画面レイアウトでした(ほぼとしたのは、中央に境界線を入れているので、その分を省いているためです)。これに意外と苦労したので、やり方をサンプルコードとともに示します。  1. 考え方 結論から先に書くと、LinearLayoutのweightパラメータを使うことで実現できます。ここに書いたサンプルでは、画面の縦方向にImageViewを2つ置き、一番下にViewを一つ置き、ImageView2つが同じ大きさになるようにしようと思います。2. タイトルバーを消すタイトルバーを消すには、ActivityのonCreateメソッド内でthis.requestWindo

  • Y.A.M の 雑記帳

    mimeType に "text/*"、ファイル名に "sample.csv" を指定した場合、ファイル名が重複したときの "(1)" が拡張子の後につけられてしまう。 @Composable fun CreateDocumentSample() { val createDocumentLauncher = rememberLauncherForActivityResult(ActivityResultContracts.CreateDocument("text/*")) { if (it != null) { ... } } Button( onClick = { createDocumentLauncher.launch("sample.csv") } ) { Text("Click") } } mimeType を "text/csv" にし、ファイル名を "sample.csv"