Android
searchable.xml の android:hint に直接文字列をハードコーディングすると、SearchView が空の時に表示されるはずのヒントテキストが表示されません。 @string/search_hint などの String リソースを定義して、それを参照する必要があります。 OK
音声入力終了後には onNewIntent が呼ばれるので、その中で拾った検索語を SearchView#setQuery(query, false) でセットします。第二引数は setQuery でセットした語で検索を実行するかどうかなので、true にすると無限ループに陥ります。 (個人的には)Act…
プレビューに使用する API レベルを 21 以下に下げることで回避できます。 プレビューウィンドウ上部の、画面サイズやテーマを指定するボタンの列に API レベルを変えるボタンもあります。 エラーメッセージの内容は以下の様なもの。 Rendering Problems jav…
Dialog の getWindow().setGravity(int gravity) で位置を指定できるので、Gravity.TOP を設定すれば上部に表示されるようになります。 Gravity.BOTTOM に設定すれば画面下部に表示することもできます。 AlertDialog の場合は create して AlertDialog のイ…
android:actionViewClass としていたところを app:actionViewClass に変更すると解消しました。 Support Library の AppCompatActivity を使用しているアプリだったからと思われます。
コード上から getLayoutTransition() で LayoutTransition を取得して、setDuration(long duration) 及び setStartDelay(int type, long delay) を呼びます。 xml で設定する方法はなさそうです。 getLayoutAnimarion ではないことに注意。
Android Studio の方の問題らしく、Android Studio を再起動することで解消しました。 layout の xml で android.support.v7.widget.CardView 内に配置した Element で発生。 自分は LinearLayout, TextView, Button などで発生していたので、どのような Ele…
消す場合 android:background="#00000000" で透明な背景にします。 変える場合 colorControl*** を設定した theme をつけて変更します。 EditText の場合は android:theme、AppCompatEditText の場合は app:theme です。 (xmlns:app="http://schemas.android…
何かを編集するダイアログで、変更を破棄してもよいかどうかを確認する場合などのパターンです。 ポイントは setCancelable(false) を呼んでキャンセルを無効にする Dialog のではなく、DialogFragment 自身の方を呼ぶ 全画面の style を設定している場合、…
TextInputLayout で EditText の上に表示されるテキストは app:hintTextAppearance を設定して変更します。 デフォルトはアプリのテーマとして指定した colorAccent で、12sp(多分)です。 EditText の下線とカーソル表示の色は colorControl*** を設定した…
Toolbar (ActionBar) の NavigationIcon にプライマリやアクセントのカラーをつけるために使用しました。 オリジナルの白いアイコン画像(Material design icons等から入手)を src に、tint に primary や accent の color を指定した xml リソースを作成し…
ActionBar を使う Theme を指定すると発生しました。 全画面 Dialog を作ろうと "Theme.AppCompat.Light.DialogWhenLarge" を使ってこのエラーを出してしまっていたが、"Theme.AppCompat.Light.NoActionBar" に変える事で解消です。見た目に違いはありません…
ポイント フルパス指定しないと inflate error. ネームスペースを追加(xmlns:app="http://schemas.android.com/apk/res-auto") app:elevation で Z位置(=影の広がりの大きさ)を指定 併せて app:boarderWidth="0dp" をセットしないと elevation による影…
多対多のデータベースから検索する場合に。 JOIN を使ったクエリーを作って SQLiteDatabase#rawQuery します。ON句に結合条件を指定です。 下は、TABLE_TOPIC にトピックが、TABLE_TOPIC_TAG にトピックとタグの対応が格納されていて、特定のタグを持つトピ…
SQLiteDatabase#query の String limit に ',' 区切りで Offset と Limit を指定します。 数字だけでよく、"LIMIT N OFFSET M" のように指定すると invalid LIMIT clauses で IllegalArgumentException が出るので注意が必要です。 String[] columns = new S…
layout の xml で、以下のようにフルパスを記載するようにすることでエラー解消しました。class 名だけでは駄目なようです。 SwitchCompat など、他の support ライブラリ系の compat UI 要素も同様に、 xml 中で class をフルパスで記載しないと Error infl…