[オリジナル]カスタムview之:Material DesignスタイルのdialogのオープンソースプロジェクトMDDialogを迅速に開発
12391 ワード
GoogleがMaterial Designスタイルのデザインを主導し始めるにつれて、ますます多くのappがMaterial Designスタイルを使って自分のUIを設計し始めた.Android Studioには多くのクイック開発フレームワークが統合されていますが、googleは常に自分のMDスタイルのdialogを発売していません.プロジェクトでMDDialogを迅速に開発できるように、私は自分で開発したMDDialogをオープンしました.Dialogに継承され、高度に自由なカスタマイズ属性を持っています.
プロジェクトのアドレス:
https://github.com/Carbs0126/MDDialog
最初にスクリーンショット:
カスタムviewを追加するには:
String[]を追加するには:
主な特徴:1.AlertDialogと同じbuilder構造を使用して、プログラミングの習慣を変える必要はありません.2.「表示/非表示」の上部タイトルまたは下部ボタンを選択できます.2つのボタンまたは1つのボタンを非表示にすることができます.3.setMessages(String[])メソッドを使用すると、文字列配列を使用してMDDialogに複数のitemを追加できます.また、setContentViewClickableでitemがクリック可能かどうかを設定し、setOnItemClickListener(...)を使用します.メソッドはitemにクリック応答イベントを追加します.4.setContentView(…)を使用可能メソッドはこのdialogにレイアウトを追加し、入力されたパラメータはレイアウトidであってもよいし、viewオブジェクトであってもよい.5.builderのsetContentViewOperator(new MDDialog.contentView Operator(){@Override public void operate(View contentView){//EditTextet=(EditText)contentView.findViewById(R.id.edit 0);//et.set Hint("hint set in operator")})を使用できます.方法:追加したcontentviewに一連の操作を追加します.contentviewはMDDialogに追加したviewです.
6.MDDialogの四角の半径7を設定することができる.MDDialogは、フィレットバックグラウンドの押下効果を含むitemごとに正確な押下効果を設定します.
Author:Carbs.WangEmail:yeah0126#yeah.net
使用方法:
導入:
プロジェクトのアドレス:
https://github.com/Carbs0126/MDDialog
プロジェクトのアドレス:
https://github.com/Carbs0126/MDDialog
最初にスクリーンショット:
カスタムviewを追加するには:
String[]を追加するには:
主な特徴:1.AlertDialogと同じbuilder構造を使用して、プログラミングの習慣を変える必要はありません.2.「表示/非表示」の上部タイトルまたは下部ボタンを選択できます.2つのボタンまたは1つのボタンを非表示にすることができます.3.setMessages(String[])メソッドを使用すると、文字列配列を使用してMDDialogに複数のitemを追加できます.また、setContentViewClickableでitemがクリック可能かどうかを設定し、setOnItemClickListener(...)を使用します.メソッドはitemにクリック応答イベントを追加します.4.setContentView(…)を使用可能メソッドはこのdialogにレイアウトを追加し、入力されたパラメータはレイアウトidであってもよいし、viewオブジェクトであってもよい.5.builderのsetContentViewOperator(new MDDialog.contentView Operator(){@Override public void operate(View contentView){//EditTextet=(EditText)contentView.findViewById(R.id.edit 0);//et.set Hint("hint set in operator")})を使用できます.方法:追加したcontentviewに一連の操作を追加します.contentviewはMDDialogに追加したviewです.
6.MDDialogの四角の半径7を設定することができる.MDDialogは、フィレットバックグラウンドの押下効果を含むitemごとに正確な押下効果を設定します.
Author:Carbs.WangEmail:yeah0126#yeah.net
使用方法:
1 MDDialog
2 1. customize view :
3 new MDDialog.Builder(ActivityMain.this)
4 // .setContentView(customizedView)
5 .setContentView(R.layout.content_dialog)
6 .setContentViewOperator(new MDDialog.ContentViewOperator() {
7 @Override
8 public void operate(View contentView) {
9 EditText et = (EditText) contentView.findViewById(R.id.edit0);
10 et.setHint("hint set in operator");
11 }
12 })
13 .setTitle(" ")
14 .setNegativeButton(new View.OnClickListener() {
15 @Override
16 public void onClick(View v) {
17 }
18 })
19 .setPositiveButton(new View.OnClickListener() {
20 @Override
21 public void onClick(View v) {
22 }
23 })
24 .setPositiveButtonMultiListener(new MDDialog.OnMultiClickListener() {
25 @Override
26 public void onClick(View clickedView, View contentView) {
27 EditText et = (EditText) contentView.findViewById(R.id.edit0);
28 Toast.makeText(getApplicationContext(), "edittext 0 : " + et.getText(), Toast.LENGTH_SHORT).show();
29 }
30 })
31 .setNegativeButtonMultiListener(new MDDialog.OnMultiClickListener() {
32 @Override
33 public void onClick(View clickedView, View contentView) {
34 EditText et = (EditText) contentView.findViewById(R.id.edit1);
35 Toast.makeText(getApplicationContext(), "edittext 1 : " + et.getText(), Toast.LENGTH_SHORT).show();
36 }
37 })
38 .setWidthMaxDp(600)
39 // .setShowTitle(false)//default is true
40 // .setShowButtons(true)//default is true
41 .create()
42 .show();
43
44 2. String[] messages
45
46 final String[] messages = new String[]{" , 。",
47 " , 。",
48 " , , ; , , 。"};
49 new MDDialog.Builder(ActivityMain.this)
50 .setMessages(messages)
51 .setTitle(" ")
52 .setNegativeButton(new View.OnClickListener() {
53 @Override
54 public void onClick(View v) {
55 }
56 })
57 .setPositiveButton(new View.OnClickListener() {
58 @Override
59 public void onClick(View v) {
60 Toast.makeText(getApplicationContext(), "positive", Toast.LENGTH_SHORT).show();
61 }
62 })
63 .setOnItemClickListener(new MDDialog.OnItemClickListener() {
64 @Override
65 public void onItemClicked(int index) {
66 Toast.makeText(getApplicationContext(), messages[index], Toast.LENGTH_SHORT).show();
67 }
68 })
69 .setWidthMaxDp(600)
70 .setShowTitle(false)
71 .setShowButtons(true)
72 .create()
73 .show();
導入:
dependencies {
compile 'cn.carbs.android:MDDialog:1.0.0'
}
プロジェクトのアドレス:
https://github.com/Carbs0126/MDDialog