Skip to content

Instantly share code, notes, and snippets.

View appukrb's full-sized avatar

Balasubramaniam K R appukrb

View GitHub Profile
@appukrb
appukrb / HeightWrappingViewPager.java
Created September 17, 2019 10:36
Custom Size Viewpager with onItemClickListener
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
public class HeightWrappingViewPager extends ViewPager {
@appukrb
appukrb / CurvedNavigation.java
Created August 1, 2019 09:44
Curved Bottom Navigation
package com.oasys.primetrip.UI;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Point;
import android.support.design.widget.BottomNavigationView;
import android.util.AttributeSet;
@appukrb
appukrb / MainActivity.java
Created August 1, 2019 07:34
Avoid Forced Multi Tap
public static void avoidDoubleClicks(final View view) {
final long DELAY_IN_MS = 900;
if (!view.isClickable()) {
return;
}
view.setClickable(false);
view.postDelayed(new Runnable() {
@Override
public void run() {
view.setClickable(true);
@appukrb
appukrb / MainActivity.java
Created July 31, 2019 09:46
navigation drawer custom UI changes
BottomNavigationMenuView menuView = (BottomNavigationMenuView) navigationView.getChildAt(0);
for (int i = 0; i < menuView.getChildCount(); i++) {
final View iconView = menuView.getChildAt(i).findViewById(android.support.design.R.id.icon);
final ViewGroup.LayoutParams layoutParams = iconView.getLayoutParams();
final DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
// set your height here
layoutParams.height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 32, displayMetrics);
// set your width here
layoutParams.width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 32, displayMetrics);
@appukrb
appukrb / MainActivity.java
Created July 31, 2019 06:38
Clickable ViewPager Type2
upcommingPager.setOnTouchListener(new View.OnTouchListener() {
float oldX = 0, newX = 0, sens = 5;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
oldX = event.getX();
break;
@appukrb
appukrb / ClickableViewPager.java
Created July 31, 2019 06:37
Clickable viewpager Type1
public class ClickableViewPager extends ViewPager {
private OnItemClickListener mOnItemClickListener;
public ClickableViewPager(Context context) {
super(context);
setup();
}
public ClickableViewPager(Context context, AttributeSet attrs) {
@appukrb
appukrb / Main.java
Created February 5, 2019 10:55
CountDownTimer Android
private void startTimer() {
countDownTimer= new CountDownTimer(300000, 1000) {
public void onTick(long millisUntilFinished) {
// long minutes = (milliseconds / 1000) / 60;
long minutes = ((millisUntilFinished/1000) / 60) % 60;
// long seconds = (milliseconds / 1000);
long seconds = (millisUntilFinished/1000) % 60;
@appukrb
appukrb / object.java
Created January 28, 2019 10:24
To Json(To avoid sorting in gson)
public String toJSON(){
JSONObject jsonObject= new JSONObject();
try {
jsonObject.put("id", getIdProducto());
jsonObject.put("nombre", getNombre());
jsonObject.put("precio", getPrecio());
return jsonObject.toString();
} catch (JSONException e) {
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.Resources;
import android.text.TextUtils;
import android.widget.EditText;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
@appukrb
appukrb / MainActivity.java
Created October 17, 2018 06:07
Button Delay Android
private static final long DOUBLE_CLICK_TIME_DELTA = 300;//milliseconds
long lastClickTime = 0;.
/* In On CLick Method*/
long clickTime = System.currentTimeMillis();
if (clickTime - lastClickTime < DOUBLE_CLICK_TIME_DELTA){
//Your Logic inside on click
lastClickTime = 0;