AppCompat v21を使用して、アンドロイドでフローティングアクションボタン(FAB)を作成する方法は?
2023-07-12 11:33:08
質問内容
Googleカレンダーのようなフローティングアクションボタン(リストビューにアイテムを追加する)を、ロリポップ以前のAndroidバージョン(5.0以前)との互換性を維持しながら作成したいのです。
こんなレイアウトを作りました。
アクティビティmain_activity.xmlです。
<LinearLayout ... >
<include
layout="@layout/toolbar"/>
<RelativeLayout ... >
<!-- My rest of the layout -->
<!-- Floating action button -->
<ImageButton style="@style/AppTheme"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="New Button"
android:id="@+id/button"
android:src="@drawable/ic_fab"
android:background="@drawable/fab"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="24dp"
android:layout_marginRight="24dp"/>
</RelativeLayout>
</LinearLayout>
描画可能なfab.xmlです。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#ffa48bc0"/>
</shape>
スタイルstyles.xml
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#ff1d79b1</item>
<item name="colorPrimaryDark">#ff084d95</item>
</style>
</resources>
結果は似ていますが、マテリアルデザインの特徴である陰影がありません。
カレンダーのフローティングアクションボタンです。
私のアプリのフローティングアクションボタンです。
ボタンに陰影をつけるにはどうしたらよいですか?
私はすでに標高属性を使用していますが、動作しません。
どのように解決するのですか?
独自の FAB を作成したり、サードパーティのライブラリを使用したりする必要はなくなりました。
https://developer.android.com/reference/android/support/design/widget/FloatingActionButton.html
デザインという新しいサポートライブラリをgradleファイルに追加するだけです。
compile 'com.android.support:design:22.2.0'
...そして、あなたはもう大丈夫です。
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_margin="16dp"
android:clickable="true"
android:src="@drawable/ic_happy_image" />
関連
-
[解決済み] Intentsを使用して、あるAndroid Activityから別のAndroid Activityにオブジェクトを送信するにはどうすればよいですか?
-
[解決済み] AndroidでSQLiteを使用する際に、並行処理の問題を回避するにはどうすればよいですか?
-
[解決済み] Androidでフローティングアクションボタンの色を変更する
-
[解決済み】Androidで透明なActivityを作成する方法は?
-
[解決済み】フラグメント内のXML onClickを使用して、ボタンのクリックを処理する方法
-
[解決済み】フローティングアクションボタンのアイコンサイズを調整する(fab)
-
[解決済み】2つのウィジェット/レイアウトの間に新しい「フローティング・アクション・ボタン」を追加する方法
-
[解決済み] Gmailの3分割アニメーションシナリオの完全動作サンプル?
-
[解決済み] Androidのadb logcatでTAG名で特定のメッセージを除外する方法は?
-
[解決済み] FragmentPagerAdapterのgetItemが呼び出されない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SDカードからファイルを削除する方法を教えてください。
-
[解決済み] RecyclerView.Stateを使って、RecyclerViewのスクロール位置を保存するには?
-
[解決済み] Android Webview - キャッシュを完全に削除する
-
[解決済み] Eclipseでのandroid:configChangesでのAdmobエラー
-
[解決済み] ViewPagerのアイテムを強制的に再インスタンス化する方法 [重複].
-
[解決済み] EclipseのAndroidプロジェクトにライブラリ/JARを追加する
-
[解決済み] TabLayoutに対応したandroidデザインでタブテキストのフォントを変更する
-
[解決済み] フラグメント間の値の受け渡し方法
-
[解決済み] react nativeアプリのバージョン番号を更新する方法
-
[解決済み] アダプタからActivityメソッドを呼び出す