From 2af5216d285ed30c44a97f92ce4a8865a05362a9 Mon Sep 17 00:00:00 2001 From: JG Pak Date: Tue, 2 Jan 2018 17:26:56 +0900 Subject: [PATCH 1/2] Custom View Change --- .../materialintro/view/MaterialIntroView.java | 19 ++++++++- .../sample/fragment/MainFragment.java | 2 +- .../src/main/res/layout/test_intro_card.xml | 39 +++++++++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 sample/src/main/res/layout/test_intro_card.xml diff --git a/materialintro/src/main/java/co/mobiwise/materialintro/view/MaterialIntroView.java b/materialintro/src/main/java/co/mobiwise/materialintro/view/MaterialIntroView.java index 2f5afe2..ff9f2d7 100644 --- a/materialintro/src/main/java/co/mobiwise/materialintro/view/MaterialIntroView.java +++ b/materialintro/src/main/java/co/mobiwise/materialintro/view/MaterialIntroView.java @@ -215,6 +215,8 @@ public class MaterialIntroView extends RelativeLayout { */ private ShapeType shapeType; + private int layoutId = -1; + /** * Use custom shape */ @@ -225,6 +227,12 @@ public MaterialIntroView(Context context) { init(context); } + public MaterialIntroView(Context context, int layoutId) { + super(context); + this.layoutId = layoutId; + init(context); + } + public MaterialIntroView(Context context, AttributeSet attrs) { super(context, attrs); init(context); @@ -278,7 +286,11 @@ private void init(Context context) { eraser.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); eraser.setFlags(Paint.ANTI_ALIAS_FLAG); - View layoutInfo = LayoutInflater.from(getContext()).inflate(R.layout.material_intro_card, null); + if(layoutId <= 0){ + layoutId = R.layout.material_intro_card; + } + + View layoutInfo = LayoutInflater.from(getContext()).inflate(layoutId, null); infoView = layoutInfo.findViewById(R.id.info_layout); textViewInfo = (TextView) layoutInfo.findViewById(R.id.textview_info); @@ -649,6 +661,11 @@ public Builder(Activity activity) { materialIntroView = new MaterialIntroView(activity); } + public Builder(Activity activity, int layoutId) { + this.activity = activity; + materialIntroView = new MaterialIntroView(activity, layoutId); + } + public Builder setMaskColor(int maskColor) { materialIntroView.setMaskColor(maskColor); return this; diff --git a/sample/src/main/java/co/mobiwise/sample/fragment/MainFragment.java b/sample/src/main/java/co/mobiwise/sample/fragment/MainFragment.java index 3d829cd..c823bfc 100644 --- a/sample/src/main/java/co/mobiwise/sample/fragment/MainFragment.java +++ b/sample/src/main/java/co/mobiwise/sample/fragment/MainFragment.java @@ -49,7 +49,7 @@ public void onClick(View v) { } private void showIntro(View view, String usageId, String text){ - new MaterialIntroView.Builder(getActivity()) + new MaterialIntroView.Builder(getActivity(), R.layout.test_intro_card) .enableDotAnimation(true) //.enableIcon(false) .setFocusGravity(FocusGravity.CENTER) diff --git a/sample/src/main/res/layout/test_intro_card.xml b/sample/src/main/res/layout/test_intro_card.xml new file mode 100644 index 0000000..fcf7d08 --- /dev/null +++ b/sample/src/main/res/layout/test_intro_card.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + From ceb199fdbfe8c066d7247bf2f1edc7e9f39a650c Mon Sep 17 00:00:00 2001 From: JG Pak Date: Tue, 2 Jan 2018 17:41:36 +0900 Subject: [PATCH 2/2] Custom View Change --- .../materialintro/view/MaterialIntroView.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/materialintro/src/main/java/co/mobiwise/materialintro/view/MaterialIntroView.java b/materialintro/src/main/java/co/mobiwise/materialintro/view/MaterialIntroView.java index ff9f2d7..a5ff736 100644 --- a/materialintro/src/main/java/co/mobiwise/materialintro/view/MaterialIntroView.java +++ b/materialintro/src/main/java/co/mobiwise/materialintro/view/MaterialIntroView.java @@ -290,12 +290,20 @@ private void init(Context context) { layoutId = R.layout.material_intro_card; } - View layoutInfo = LayoutInflater.from(getContext()).inflate(layoutId, null); - - infoView = layoutInfo.findViewById(R.id.info_layout); - textViewInfo = (TextView) layoutInfo.findViewById(R.id.textview_info); - textViewInfo.setTextColor(colorTextViewInfo); - imageViewIcon = (ImageView) layoutInfo.findViewById(R.id.imageview_icon); + try { + View layoutInfo = LayoutInflater.from(getContext()).inflate(layoutId, null); + infoView = layoutInfo.findViewById(R.id.info_layout); + textViewInfo = (TextView) layoutInfo.findViewById(R.id.textview_info); + textViewInfo.setTextColor(colorTextViewInfo); + imageViewIcon = (ImageView) layoutInfo.findViewById(R.id.imageview_icon); + } + catch(Exception e){ + View layoutInfo = LayoutInflater.from(getContext()).inflate(R.layout.material_intro_card, null); + infoView = layoutInfo.findViewById(R.id.info_layout); + textViewInfo = (TextView) layoutInfo.findViewById(R.id.textview_info); + textViewInfo.setTextColor(colorTextViewInfo); + imageViewIcon = (ImageView) layoutInfo.findViewById(R.id.imageview_icon); + } dotView = LayoutInflater.from(getContext()).inflate(R.layout.dotview, null); dotView.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);