mirror of
https://github.com/ArcaneChat/android.git
synced 2026-07-03 14:05:24 +02:00
149 lines
7.9 KiB
Java
149 lines
7.9 KiB
Java
/*******************************************************************************
|
|
*
|
|
* Delta Chat Android
|
|
* (C) 2013-2016 Nikolai Kudashov
|
|
* (C) 2017 Björn Petersen
|
|
* Contact: r10s@b44t.com, http://b44t.com
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify it under
|
|
* the terms of the GNU General Public License as published by the Free Software
|
|
* Foundation, either version 3 of the License, or (at your option) any later
|
|
* version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
* details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along with
|
|
* this program. If not, see http://www.gnu.org/licenses/ .
|
|
*
|
|
******************************************************************************/
|
|
|
|
|
|
package com.b44t.messenger.Components;
|
|
|
|
import android.widget.FrameLayout;
|
|
import android.widget.LinearLayout;
|
|
import android.widget.RelativeLayout;
|
|
import android.widget.ScrollView;
|
|
|
|
import com.b44t.messenger.AndroidUtilities;
|
|
|
|
public class LayoutHelper {
|
|
|
|
public static final int MATCH_PARENT = -1;
|
|
public static final int WRAP_CONTENT = -2;
|
|
|
|
private static int getSize(float size) {
|
|
return (int) (size < 0 ? size : AndroidUtilities.dp(size));
|
|
}
|
|
|
|
public static FrameLayout.LayoutParams createScroll(int width, int height, int gravity) {
|
|
return new ScrollView.LayoutParams(getSize(width), getSize(height), gravity);
|
|
}
|
|
|
|
public static FrameLayout.LayoutParams createFrame(int width, float height, int gravity, float leftMargin, float topMargin, float rightMargin, float bottomMargin) {
|
|
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(getSize(width), getSize(height), gravity);
|
|
layoutParams.setMargins(AndroidUtilities.dp(leftMargin), AndroidUtilities.dp(topMargin), AndroidUtilities.dp(rightMargin), AndroidUtilities.dp(bottomMargin));
|
|
return layoutParams;
|
|
}
|
|
|
|
public static FrameLayout.LayoutParams createFrame(int width, int height, int gravity) {
|
|
return new FrameLayout.LayoutParams(getSize(width), getSize(height), gravity);
|
|
}
|
|
|
|
public static FrameLayout.LayoutParams createFrame(int width, float height) {
|
|
return new FrameLayout.LayoutParams(getSize(width), getSize(height));
|
|
}
|
|
|
|
public static RelativeLayout.LayoutParams createRelative(float width, float height, int leftMargin, int topMargin, int rightMargin, int bottomMargin, int alignParent, int alignRelative, int anchorRelative) {
|
|
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(getSize(width), getSize(height));
|
|
if (alignParent >= 0) {
|
|
layoutParams.addRule(alignParent);
|
|
}
|
|
if (alignRelative >= 0 && anchorRelative >= 0) {
|
|
layoutParams.addRule(alignRelative, anchorRelative);
|
|
}
|
|
layoutParams.leftMargin = AndroidUtilities.dp(leftMargin);
|
|
layoutParams.topMargin = AndroidUtilities.dp(topMargin);
|
|
layoutParams.rightMargin = AndroidUtilities.dp(rightMargin);
|
|
layoutParams.bottomMargin = AndroidUtilities.dp(bottomMargin);
|
|
return layoutParams;
|
|
}
|
|
|
|
public static RelativeLayout.LayoutParams createRelative(int width, int height, int leftMargin, int topMargin, int rightMargin, int bottomMargin) {
|
|
return createRelative(width, height, leftMargin, topMargin, rightMargin, bottomMargin, -1, -1, -1);
|
|
}
|
|
|
|
public static RelativeLayout.LayoutParams createRelative(int width, int height, int leftMargin, int topMargin, int rightMargin, int bottomMargin, int alignParent) {
|
|
return createRelative(width, height, leftMargin, topMargin, rightMargin, bottomMargin, alignParent, -1, -1);
|
|
}
|
|
|
|
public static RelativeLayout.LayoutParams createRelative(float width, float height, int leftMargin, int topMargin, int rightMargin, int bottomMargin, int alignRelative, int anchorRelative) {
|
|
return createRelative(width, height, leftMargin, topMargin, rightMargin, bottomMargin, -1, alignRelative, anchorRelative);
|
|
}
|
|
|
|
public static RelativeLayout.LayoutParams createRelative(int width, int height, int alignParent, int alignRelative, int anchorRelative) {
|
|
return createRelative(width, height, 0, 0, 0, 0, alignParent, alignRelative, anchorRelative);
|
|
}
|
|
|
|
public static RelativeLayout.LayoutParams createRelative(int width, int height) {
|
|
return createRelative(width, height, 0, 0, 0, 0, -1, -1, -1);
|
|
}
|
|
|
|
public static RelativeLayout.LayoutParams createRelative(int width, int height, int alignParent) {
|
|
return createRelative(width, height, 0, 0, 0, 0, alignParent, -1, -1);
|
|
}
|
|
|
|
public static RelativeLayout.LayoutParams createRelative(int width, int height, int alignRelative, int anchorRelative) {
|
|
return createRelative(width, height, 0, 0, 0, 0, -1, alignRelative, anchorRelative);
|
|
}
|
|
|
|
public static LinearLayout.LayoutParams createLinear(int width, int height, float weight, int gravity, int leftMargin, int topMargin, int rightMargin, int bottomMargin) {
|
|
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(getSize(width), getSize(height), weight);
|
|
layoutParams.setMargins(AndroidUtilities.dp(leftMargin), AndroidUtilities.dp(topMargin), AndroidUtilities.dp(rightMargin), AndroidUtilities.dp(bottomMargin));
|
|
layoutParams.gravity = gravity;
|
|
return layoutParams;
|
|
}
|
|
|
|
public static LinearLayout.LayoutParams createLinear(int width, int height, float weight, int leftMargin, int topMargin, int rightMargin, int bottomMargin) {
|
|
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(getSize(width), getSize(height), weight);
|
|
layoutParams.setMargins(AndroidUtilities.dp(leftMargin), AndroidUtilities.dp(topMargin), AndroidUtilities.dp(rightMargin), AndroidUtilities.dp(bottomMargin));
|
|
return layoutParams;
|
|
}
|
|
|
|
public static LinearLayout.LayoutParams createLinear(int width, int height, int gravity, int leftMargin, int topMargin, int rightMargin, int bottomMargin) {
|
|
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(getSize(width), getSize(height));
|
|
layoutParams.setMargins(AndroidUtilities.dp(leftMargin), AndroidUtilities.dp(topMargin), AndroidUtilities.dp(rightMargin), AndroidUtilities.dp(bottomMargin));
|
|
layoutParams.gravity = gravity;
|
|
return layoutParams;
|
|
}
|
|
|
|
public static LinearLayout.LayoutParams createLinear(int width, int height, float leftMargin, float topMargin, float rightMargin, float bottomMargin) {
|
|
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(getSize(width), getSize(height));
|
|
layoutParams.setMargins(AndroidUtilities.dp(leftMargin), AndroidUtilities.dp(topMargin), AndroidUtilities.dp(rightMargin), AndroidUtilities.dp(bottomMargin));
|
|
return layoutParams;
|
|
}
|
|
|
|
public static LinearLayout.LayoutParams createLinear(int width, int height, float weight, int gravity) {
|
|
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(getSize(width), getSize(height), weight);
|
|
layoutParams.gravity = gravity;
|
|
return layoutParams;
|
|
}
|
|
|
|
public static LinearLayout.LayoutParams createLinear(int width, int height, int gravity) {
|
|
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(getSize(width), getSize(height));
|
|
layoutParams.gravity = gravity;
|
|
return layoutParams;
|
|
}
|
|
|
|
public static LinearLayout.LayoutParams createLinear(int width, int height, float weight) {
|
|
return new LinearLayout.LayoutParams(getSize(width), getSize(height), weight);
|
|
}
|
|
|
|
public static LinearLayout.LayoutParams createLinear(int width, int height) {
|
|
return new LinearLayout.LayoutParams(getSize(width), getSize(height));
|
|
}
|
|
}
|