27

私たちは Android アプリを再設計していますが、次の Android L プラットフォームとそのマテリアル スタイルを考えると、疑問が生じます: 古いデバイスをサポートする方法は何ですか? この新しい設計は 4.x デバイスで受け入れられますか?

4

3 に答える 3

23

Androidマテリアルデザインの互換性ドキュメントによると

リンクが削除された場合に備えて、ここで資料を再ハッシュするつもりです。これはおそらく近い将来になるでしょう.

Material テーマの場合

マテリアル テーマは、Android L Developer Preview でのみ使用できます。Android L Developer Preview を実行しているデバイスでマテリアル テーマを使用し、以前のバージョンの Android を実行しているデバイスで古いテーマを使用するようにアプリを構成するには:

古いテーマ (Holo など) から継承するテーマを res/values/styles.xml で定義します。res/values-v21/styles.xml でマテリアル テーマから継承した同じ名前のテーマを定義します。マニフェスト ファイルで、このテーマをアプリのテーマとして設定します。

レイアウトに関しては

マテリアル デザイン ガイドラインに従って設計したレイアウトが、Android L Developer Preview の新しい XML 属性を使用していない場合、それらは以前のバージョンの Android でも機能します。それ以外の場合は、別のレイアウトを提供できます。代替レイアウトを提供して、以前のバージョンの Android でのアプリの外観をカスタマイズすることもできます。

Android L Developer Preview 用のレイアウト ファイルを res/layout-v21/ 内に作成し、以前のバージョンの Android 用の代替レイアウト ファイルを res/layout/ 内に作成します。代替レイアウトのファイル名は同じです。

コードの重複を避けるために、res/values/ 内でスタイルを定義し、新しい API 用に res/values-v21/ のスタイルを変更します。

UI ウィジェットの場合

RecyclerView ウィジェットと CardView ウィジェットは Android L デベロッパー プレビュー サポート ライブラリに含まれているため、以前のバージョンの Android でも使用できますが、次の制限があります。

CardView は、追加のパディングを使用して、プログラムによるシャドウの実装にフォールバックします。CardView は、丸みを帯びた角と交差する子ビューをクリップしません。これらの制限は、Android L Developer Preview には適用されません。

最後にアニメーションについて

次の新しい API は、Android L Developer Preview でのみ使用できます。

アクティビティの遷移、タッチ フィードバック、Reveal アニメーション、パスベースのアニメーション。以前のバージョンの Android との互換性を維持するには、これらの API を呼び出す前に、実行時にシステムのバージョンを確認してください。

于 2014-06-28T04:41:20.897 に答える