/* * * * Copyright 2015. Appsi Mobile * * * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except in compliance with the License. * * You may obtain a copy of the License at * * * * http://www.apache.org/licenses/LICENSE-2.0 * * * * Unless required by applicable law or agreed to in writing, software * * distributed under the License is distributed on an "AS IS" BASIS, * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and * * limitations under the License. * */ package com.appsimobile.view; import android.content.Context; import android.util.AttributeSet; import android.widget.LinearLayout; /** * Created by nick on 21/09/14. */ public class AppsiLinearLayout extends LinearLayout { public AppsiLinearLayout(Context context) { super(context); } public AppsiLinearLayout(Context context, AttributeSet attrs) { super(context, attrs); } public AppsiLinearLayout(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } /** * Determines where to position dividers between children. * * @param childIndex Index of child to check for preceding divider * * @return true if there should be a divider before the child at childIndex * @hide Pending API consideration. Currently only used internally by the system. */ protected boolean hasDividerBeforeChildAt(int childIndex) { int showDividers = getShowDividers(); if (childIndex == 0) { return (showDividers & SHOW_DIVIDER_BEGINNING) != 0; } else if (childIndex == getChildCount()) { return (showDividers & SHOW_DIVIDER_END) != 0; } else if ((showDividers & SHOW_DIVIDER_MIDDLE) != 0) { boolean hasVisibleViewBefore = false; for (int i = childIndex - 1; i >= 0; i--) { if (getChildAt(i).getVisibility() == VISIBLE) { hasVisibleViewBefore = true; break; } } return hasVisibleViewBefore; } return false; } }