ドロワーエフェクトのナビゲーションメニュー
多くのアプリを見た後、この横にスライドする引き出し効果メニューは非常に良いと思います。
別のページに切り替えたり、メニューのハードウェア ボタンを押す必要はなく、インターフェイス上のボタンをクリックするだけでメニューがスライドして表示され、多くのものを保持できるように感じます。
ライブラリ参照:
まず、DrawerLayout クラスはサポート ライブラリにあり、android-support-v4.jar パッケージを追加する必要があります。
次に、プログラムで使用するときに android.support.v4.widget.DrawerLayout;
をインポートします。このクラスが見つからない場合は、まず SDK マネージャーで Android サポート ライブラリを更新し、次に Android SDKextrasandroidsupportv4 パスで android-support-v4.jar を見つけ、プロジェクトの libs パスにコピーして、ビルド パスに追加します。 .
コード1
レイアウト:
DrawerLayoutの最初の子要素がメインコンテンツで、ドロワーが開いていないときに表示されるレイアウトです。ここでは FrameLayout が何も含まれていない状態で使用されています。
DrawerLayout の 2 番目のサブ要素はドロワー内のコンテンツ、つまりここでは ListView が使用されます。
主なアクティビティ (公式の例から抜粋):
リーリーさらに混乱するのは、レベル 11 の API を使用しているため、minSdkVersion には制限があり、低すぎることはできません。
画像リソースはAndroid公式Webサイトのサンプルからダウンロードできます。
プログラムを実行した後の効果は次のとおりです:
引き出しを開ける前に:
引き出しを開けた後:
コード2
今日、DrawerLayout クラスをもう一度調べてみたところ、直接使用できるメソッドがたくさんあることがわかりました。
実際、上記のように面倒な作業を行う必要はありません。ドロワーの開閉を制御するボタンを定義するだけです。
レイアウト:リーリー
メインコード:
リーリー
Toolbar + DrawerLayoutを使用して、ハイエンドメニューのサイドスライドを素早く実現します
最新のマテリアル デザイン設計仕様に準拠しているいくつかのアプリケーションに注目している場合 (そうでない場合は、そうしていると仮定して!)、非常に快適でエレガントに見える横スライド メニュー アニメーション効果を使用する例が多数あることに気づくかもしれません。以下の通り (参考資料 2 より):
今日は、このタイプの効果をすばやく実現するために、Toolbar と DrawerLayout を使用する必要があります。詳細な手順は次のとおりです: (これら 2 つのウィジェットを知らない場合は、まず Google で調べてください)。 まず、appcompat-v7 サポートを追加する必要があります:
プロジェクトが Android Studio 1.0 RC4 で作成されている場合、appcompat-v7 サポートがデフォルトで追加されています。AS の最新バージョンではない場合は、次のコードを build.gradle に追加する必要があります。
リーリー
追加後、gradleを同期する必要があります
ツールバーを追加:
ツールバーはビューを継承するため、他の標準コントロールと同様に、ツールバーをメイン レイアウト ファイルに直接追加できます。ただし、ツールバーの再利用効率を向上させるために、次のようにレイアウト内にcustom_toolbar.xml コードを作成できます。 リーリー
説明:android.support.v7.widget.Toolbar - もちろん、Lollipop でツールバーのみを使用する場合は、v7 サポートを追加せずにツールバーを直接使用できます
xmlns:app - カスタマイズされた XML 命名コントロール、res-auto は、完全なパッケージ名を使用せずに AS で直接指定できます
android:background と android:minHeight は両方とも、styles.xml で宣言できますDrawerLayout を追加:
ツールバーと同様に、コードの再利用効率を向上させるために、次のようにレイアウト内にcustom_drawerlayout.xmlコードを作成できます:
リーリー
Drawerlayout タグには 2 つの子ノードがあり、1 つは左側のメニュー、もう 1 つはメイン レイアウトです。また、左側のメニューの開始位置は android:layout_gravity="start" に設定する必要があります。
activity_main.xml を実装します:
インクルードタグを直接、簡潔かつ明確に使用してください
完璧な Java コード:
リーリーもちろん、より重要なものはstyles.xmlとcolors.xmlであり、詳細は次のとおりです:
リーリー
この時点で、メニュー側のスライドが実現され、最終的な効果は次のようになります(注:携帯電話の画面を直接録画することはYosemiteでは機能しないようで、フレームの関係でアニメーションはリアルタイムではありません)レートなので、まずはこのように見てみましょう~)