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..a5ff736 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,12 +286,24 @@ 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; + } - 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); @@ -649,6 +669,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 @@ + + + + + + + + + + + +