Material DesignスタイルのAndroidアプリケーションを作成します.リストとカードを作成します.
6726 ワード
本人のすべての文章はまず個人のブログで発表します.http://blog.isming.me
前回はテーマを使って、Material Designのスタイルを適用すると言いましたが、カードのレイアウトもMaterial Designの重要な構成部分です.今日は書きます.
ことばを引く
プログラムで複雑なMaterial DesignスタイルのListとCardを作成し、RecyclerViewとCadViewコンポーネントを使用できます.この二つのコンポーネントは最新のsupport v 7パッケージ(version 21)で提供されます.したがって、依存パケットを導入する必要があります.
Recyle Viewコンポーネントはより効率的でフレキシブルなListViewです.このコンポーネントは大きなデータセットのコンテナを表示します.効果的にスクロールできます.一定の数の表示を維持します.RecyclerViewコンポーネントを使用して、データセットがある場合、データセットの要素は実行中にユーザの操作またはネットワークイベントによって変化します.
Recyle View類は大データセットの表示と処理を簡略化し、提供することによって、レイアウト管理者は元素の位置付けを制御する.一般的な要素の操作には、要素の除去や追加などのデフォルトのアニメーションが表示されます.
RecyclerViewコンポーネントを使用して、Adapterとレイアウトマネージャを指定して、RecyclerView.Adapter類を継承するAdapterを作成します.具体的な実現詳細はデータセットビューのタイプによって変化します.具体的な情報は次の例を見てください.
レイアウトマネージャはItemビューをRecyclerViewに位置させ、いつそれを回収するかを決めました.彼がもう見えない時.ビューを再使用(またはリサイクル)すると、トポロジマネージャは、サブビューのコンテンツを別のコンテンツに置き換えるためにアダプター(Adapter)を要求するかもしれない.このように再利用ビューを回収することにより、viewの作成を低減し、より多くのfindViewById()を回避することができ、性能を向上させることができる.
RecyclerViewは、以下の内部に構築されたレイアウトマネージャを提供する.
Linear LayoutManagerはItemが水平または垂直のスクロールリストに表示されます.GridLayoutManagerはグリッドレイアウトとしてItemを表示します.StaggredGridLayoutManagerは、インターリーブされたグリッドのレイアウトを表示します.
RecyclerView.LayoutManager類を継承して独自のレイアウトマネージャを作成することもできます.
Recyle Viewコンポーネント
Recyle Viewコンポーネント
アニメーション:
RecyclerViewのデフォルトでは動画があります.Iteを削除または追加するとき.カスタムアニメーションが必要な場合は、RecyclerView.Item Animtorクラスを継承し、RecyclerView.setItem Animtor()メソッドを使用して定義されたアニメーションを我々のビューに設定します.
次に例を見ます.まず、xmlレイアウトファイルにRecyclerViewを追加します.
カードのdViewはFraameLayoutのクラスを継承しています.カードの内部に情報を表示することができます.そして異なるプラットフォームに統一された様式があります.Card Viewコンポーネントは影と角があります.
影のあるカードを作成し、カードを使用します.view:cardElevationのプロパティ.Card Viewは、実際の高さとダイナミックな陰影を使用してAndroid 5.0(API 21)とより高いバージョンで、以前のバージョンは、伝統的な影を使用しています.
これらの属性を使って、Card Viewの外観をカスタマイズします.
カードを使うview:cardCornerRadius属性は円角の半径を設定し、レイアウトファイルにあります.Card View.set Radiusを使って円角の半径をjavaコードに設定します.カードの背景色を設定し、カードを使用します.view:cardBackground Color属性です.
次の例は、xmlレイアウトファイルにCard Viewを含む例である.
Cardの例図
乱弾する
上からはRecyclerViewが見えます.私たちがよく使うListViewと似ていますが、父はAbs ListViewではないので、混ぜて使うことはできません.しかし、多くの場所でListViewを置き換えることができます.View Holderを通じて、Viewを再利用して、より効率的なビューコンポーネントとして見られます.
Card Viewは本質的にMaterial Designに合うコンポーネントです.Cardレイアウトを使って、効果がもっといいです.多くの人が以前にもカードを使っていたかもしれませんが、Googleの公式サイトでは、これを紹介しています.
上のRecyclerViewとCard Viewは別々に書いてありますが、一緒に使ってもいいですよ.ぼんやりしないでください.
参考資料:http://developer.android.com/training/material/lists-cards.html
原文の住所:http://blog.isming.me/2014/10/21/creating-app-with-material-design-two-list/転載は出典を明記してください.
前回はテーマを使って、Material Designのスタイルを適用すると言いましたが、カードのレイアウトもMaterial Designの重要な構成部分です.今日は書きます.
ことばを引く
プログラムで複雑なMaterial DesignスタイルのListとCardを作成し、RecyclerViewとCadViewコンポーネントを使用できます.この二つのコンポーネントは最新のsupport v 7パッケージ(version 21)で提供されます.したがって、依存パケットを導入する必要があります.
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.android.support:cardview-v7:+'
compile 'com.android.support:recyclerview-v7:+'
}
リストを作成Recyle Viewコンポーネントはより効率的でフレキシブルなListViewです.このコンポーネントは大きなデータセットのコンテナを表示します.効果的にスクロールできます.一定の数の表示を維持します.RecyclerViewコンポーネントを使用して、データセットがある場合、データセットの要素は実行中にユーザの操作またはネットワークイベントによって変化します.
Recyle View類は大データセットの表示と処理を簡略化し、提供することによって、レイアウト管理者は元素の位置付けを制御する.一般的な要素の操作には、要素の除去や追加などのデフォルトのアニメーションが表示されます.
RecyclerViewコンポーネントを使用して、Adapterとレイアウトマネージャを指定して、RecyclerView.Adapter類を継承するAdapterを作成します.具体的な実現詳細はデータセットビューのタイプによって変化します.具体的な情報は次の例を見てください.
レイアウトマネージャはItemビューをRecyclerViewに位置させ、いつそれを回収するかを決めました.彼がもう見えない時.ビューを再使用(またはリサイクル)すると、トポロジマネージャは、サブビューのコンテンツを別のコンテンツに置き換えるためにアダプター(Adapter)を要求するかもしれない.このように再利用ビューを回収することにより、viewの作成を低減し、より多くのfindViewById()を回避することができ、性能を向上させることができる.
RecyclerViewは、以下の内部に構築されたレイアウトマネージャを提供する.
Linear LayoutManagerはItemが水平または垂直のスクロールリストに表示されます.GridLayoutManagerはグリッドレイアウトとしてItemを表示します.StaggredGridLayoutManagerは、インターリーブされたグリッドのレイアウトを表示します.
RecyclerView.LayoutManager類を継承して独自のレイアウトマネージャを作成することもできます.
Recyle Viewコンポーネント
Recyle Viewコンポーネント
アニメーション:
RecyclerViewのデフォルトでは動画があります.Iteを削除または追加するとき.カスタムアニメーションが必要な場合は、RecyclerView.Item Animtorクラスを継承し、RecyclerView.setItem Animtor()メソッドを使用して定義されたアニメーションを我々のビューに設定します.
次に例を見ます.まず、xmlレイアウトファイルにRecyclerViewを追加します.
2.そして私たちのJavaコードで使用して、Adapterとデータを付加すれば表示できます.public class MyActivity extends Activity {
private RecyclerView mRecyclerView;
private RecyclerView.Adapter mAdapter;
private RecyclerView.LayoutManager mLayoutManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity);
mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
// use this setting to improve performance if you know that changes
// in content do not change the layout size of the RecyclerView
mRecyclerView.setHasFixedSize(true);
// use a linear layout manager
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
// specify an adapter (see also next example)
mAdapter = new MyAdapter(myDataset);
mRecyclerView.setAdapter(mAdapter);
}
...
}
3.AdapterはアクセスデータセットのItemを提供し、ビューを作成してデータにマッピングし、レイアウトの内容データを入れ替えて新しいitemを使用する.以下のコードは簡単な実装を示し、TextViewを使って簡単なString配列を表示します.public class MyAdapter extends RecyclerView.Adapter {
private String[] mDataset;
// Provide a reference to the views for each data item
// Complex data items may need more than one view per item, and
// you provide access to all the views for a data item in a view holder
public static class ViewHolder extends RecyclerView.ViewHolder {
// each data item is just a string in this case
public TextView mTextView;
public ViewHolder(TextView v) {
super(v);
mTextView = v;
}
}
// Provide a suitable constructor (depends on the kind of dataset)
public MyAdapter(String[] myDataset) {
mDataset = myDataset;
}
// Create new views (invoked by the layout manager)
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
// create a new view
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.my_text_view, parent, false);
// set the view's size, margins, paddings and layout parameters
...
ViewHolder vh = new ViewHolder(v);
return vh;
}
// Replace the contents of a view (invoked by the layout manager)
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
// - get element from your dataset at this position
// - replace the contents of the view with that element
holder.mTextView.setText(mDataset[position]);
}
// Return the size of your dataset (invoked by the layout manager)
@Override
public int getItemCount() {
return mDataset.length;
}
}
カードを作成カードのdViewはFraameLayoutのクラスを継承しています.カードの内部に情報を表示することができます.そして異なるプラットフォームに統一された様式があります.Card Viewコンポーネントは影と角があります.
影のあるカードを作成し、カードを使用します.view:cardElevationのプロパティ.Card Viewは、実際の高さとダイナミックな陰影を使用してAndroid 5.0(API 21)とより高いバージョンで、以前のバージョンは、伝統的な影を使用しています.
これらの属性を使って、Card Viewの外観をカスタマイズします.
カードを使うview:cardCornerRadius属性は円角の半径を設定し、レイアウトファイルにあります.Card View.set Radiusを使って円角の半径をjavaコードに設定します.カードの背景色を設定し、カードを使用します.view:cardBackground Color属性です.
次の例は、xmlレイアウトファイルにCard Viewを含む例である.
Cardの例図Cardの例図
乱弾する
上からはRecyclerViewが見えます.私たちがよく使うListViewと似ていますが、父はAbs ListViewではないので、混ぜて使うことはできません.しかし、多くの場所でListViewを置き換えることができます.View Holderを通じて、Viewを再利用して、より効率的なビューコンポーネントとして見られます.
Card Viewは本質的にMaterial Designに合うコンポーネントです.Cardレイアウトを使って、効果がもっといいです.多くの人が以前にもカードを使っていたかもしれませんが、Googleの公式サイトでは、これを紹介しています.
上のRecyclerViewとCard Viewは別々に書いてありますが、一緒に使ってもいいですよ.ぼんやりしないでください.
参考資料:http://developer.android.com/training/material/lists-cards.html
原文の住所:http://blog.isming.me/2014/10/21/creating-app-with-material-design-two-list/転載は出典を明記してください.