18da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov/* 28da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * Copyright (C) 2016 The Android Open Source Project 38da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * 48da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * Licensed under the Apache License, Version 2.0 (the "License"); 58da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * you may not use this file except in compliance with the License. 68da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * You may obtain a copy of the License at 78da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * 88da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * http://www.apache.org/licenses/LICENSE-2.0 98da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * 108da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * Unless required by applicable law or agreed to in writing, software 118da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * distributed under the License is distributed on an "AS IS" BASIS, 128da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * See the License for the specific language governing permissions and 148da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * limitations under the License. 158da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov */ 168da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikovpackage com.example.android.support.design.widget; 178da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov 188da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikovimport android.content.Context; 198da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikovimport android.util.AttributeSet; 208da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikovimport android.widget.RelativeLayout; 218da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov 228da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikovimport com.example.android.support.design.R; 238da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov 248da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov/** 258da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * Layout for the custom snackbar that shows two separate text views and two images 268da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov * in the main content area. 278da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov */ 288da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikovpublic class CustomSnackbarMainContent extends RelativeLayout { 298da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov private final int mMaxWidth; 308da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov 318da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov public CustomSnackbarMainContent(Context context) { 328da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov this(context, null); 338da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov } 348da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov 358da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov public CustomSnackbarMainContent(Context context, AttributeSet attrs) { 368da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov this(context, attrs, 0); 378da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov } 388da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov 398da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov public CustomSnackbarMainContent(Context context, AttributeSet attrs, 408da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov int defStyleAttr) { 418da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov super(context, attrs, defStyleAttr); 428da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov 438da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov mMaxWidth = context.getResources().getDimensionPixelSize(R.dimen.custom_snackbar_max_width); 448da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov } 458da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov 468da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov @Override 478da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 488da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov super.onMeasure(widthMeasureSpec, heightMeasureSpec); 498da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov 508da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov if ((mMaxWidth > 0) && (getMeasuredWidth() > mMaxWidth)) { 518da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov super.onMeasure(MeasureSpec.makeMeasureSpec(mMaxWidth, MeasureSpec.EXACTLY), 528da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov heightMeasureSpec); 538da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov } 548da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov } 558da7b24b08afba7ec155a371117df018bcc25eefKirill Grouchnikov} 56