Friday, 1 September 2017

setToolbar FullView

1)<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->    <item name="colorPrimary">@color/colorPrimary</item>    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>    <item name="colorAccent">@color/colorAccent</item>    <item name="windowActionBar">false</item>    <item name="windowActionModeOverlay">true</item>
    <!-- Active thumb color & Active track color(30% transparency) --></style>
<!--<item name="colorControlActivated">@color/colorPrimaryDark</item>--><style name="MyToolbarStyle" parent="ThemeOverlay.AppCompat.Light">    <item name="colorControlNormal">@color/color_drawer_textcolor</item>    <item name="android:textColorSecondary">@color/color_drawer_textcolor</item>    <item name="android:textColorPrimary">@color/color_drawer_textcolor</item>    <item name="actionMenuTextColor">@android:color/white</item>    <item name="android:textSize">@dimen/font_8dp</item>    <item name="fontPath">@string/fonts_mont_bold</item>    <item name="android:textAllCaps">false</item></style>

MainActivity
=============
@Overridepublic void onAttachedToWindow() {
    super.onAttachedToWindow();    setStatusBarImmersiveMode(HomeActivity.this, Color.TRANSPARENT);}
public static void setStatusBarImmersiveMode(Activity activity, @ColorInt int color) {
    Window win = activity.getWindow();
    // StatusBar    if (Build.VERSION.SDK_INT >= 19) { // 19, 4.4, KITKAT        win.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);    }

    if (Build.VERSION.SDK_INT >= 21) { // 21, 5.0, LOLLIPOP        win.getAttributes().systemUiVisibility |=
                (View.SYSTEM_UI_FLAG_LAYOUT_STABLE                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);        win.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);        win.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);        win.setStatusBarColor(color);    }
}

in onCreate()
//Code start for set status bar fully transperentpublic static void initStatusBar(Activity activity, View toolbar) {
    // Ensure `setStatusBarImmersiveMode()`    if (Build.VERSION.SDK_INT >= 19) { // 19, 4.4, KITKAT        // Ensure content view `fitsSystemWindows` is false.        ViewGroup contentParent = (ViewGroup) activity.findViewById(android.R.id.content);        View content = contentParent.getChildAt(0);        // If using `DrawerLayout`, must ensure its subviews `fitsSystemWindows` are all false.        // Because in some roms, such as MIUI, it will fits system windows for each subview.        setFitsSystemWindows(content, false, true);        // Add padding to hold the status bar place.        clipToStatusBar(activity,toolbar);    }
}

initStatusBar(ActMain.this, mBinding.commonToolbar.toolbar);

in manifest
==========
<application    android:name="Application"    android:allowBackup="true"    android:icon="@mipmap/app_icon"    android:label="@string/app_name"    android:roundIcon="@mipmap/ic_launcher_round"    android:supportsRtl="true"    android:theme="@style/AppTheme">    <activity
        android:name=".activity.ActMain"        android:configChanges="keyboardHidden|orientation"        android:screenOrientation="portrait"        android:theme="@style/NavigationStyle"        android:windowSoftInputMode="stateHidden"></activity>    <activity

Thursday, 10 August 2017

Alert message

public static void showMessage(Activity context, int hidehowbutton, String message, DialogInterface.OnClickListener okListener) {
    AlertDialog.Builder builder= new AlertDialog.Builder(context, R.style.AlertDialogTheme);    if(hidehowbutton==CV.SHOW_OK){
        builder.setPositiveButton(context.getResources().getString(R.string.common_ok),okListener);    }else if(hidehowbutton==CV.SHOW_OK_CANCLE) {
        builder.setPositiveButton(context.getResources().getString(R.string.common_ok), okListener);        builder.setNegativeButton(context.getResources().getString(R.string.common_cancel), null);    }else if(hidehowbutton==CV.SHOW_YES_NO) {
        builder.setPositiveButton(context.getResources().getString(R.string.common_yes), okListener);        builder.setNegativeButton(context.getResources().getString(R.string.common_no), null);    }
    builder.setMessage(message);    builder.create();    builder.show();}

public static final int SHOW_OK = 1;public static final int SHOW_OK_CANCLE =2;public static final int SHOW_YES_NO = 3;

get Screen resolution

public static String getScreenResolutions(Activity ctx) {
    DisplayMetrics metrics = new DisplayMetrics();    ctx.getWindowManager().getDefaultDisplay().getMetrics(metrics);
    String resolution = CV.RESOLUTION_ThemeMDPI;    switch (metrics.densityDpi) {
        case DisplayMetrics.DENSITY_MEDIUM:
            resolution = CV.RESOLUTION_ThemeMDPI;            break;        case DisplayMetrics.DENSITY_HIGH:
            resolution = CV.RESOLUTION_ThemeHDPI;            break;        case DisplayMetrics.DENSITY_XHIGH:
            resolution = CV.RESOLUTION_ThemeXHDPI;            break;        case DisplayMetrics.DENSITY_XXHIGH:
            resolution = CV.RESOLUTION_ThemeXXHDPI;            break;        case DisplayMetrics.DENSITY_XXXHIGH:
            resolution = CV.RESOLUTION_ThemeXXXHDPI;            break;        case DisplayMetrics.DENSITY_560:
            resolution = CV.RESOLUTION_ThemeXXXHDPI;            break;    }
    return resolution;}




Set image size
public static String getScreenResolutions(Activity ctx) {
    DisplayMetrics metrics = new DisplayMetrics();    ctx.getWindowManager().getDefaultDisplay().getMetrics(metrics);
    String resolution = CV.RESOLUTION_ThemeMDPI;    switch (metrics.densityDpi) {
        case DisplayMetrics.DENSITY_MEDIUM:
            resolution = CV.RESOLUTION_ThemeMDPI;            break;        case DisplayMetrics.DENSITY_HIGH:
            resolution = CV.RESOLUTION_ThemeHDPI;            break;        case DisplayMetrics.DENSITY_XHIGH:
            resolution = CV.RESOLUTION_ThemeXHDPI;            break;        case DisplayMetrics.DENSITY_XXHIGH:
            resolution = CV.RESOLUTION_ThemeXXHDPI;            break;        case DisplayMetrics.DENSITY_XXXHIGH:
            resolution = CV.RESOLUTION_ThemeXXXHDPI;            break;        case DisplayMetrics.DENSITY_560:
            resolution = CV.RESOLUTION_ThemeXXXHDPI;            break;    }
    return resolution;}

Sunday, 30 July 2017

Display activity as dialog

1) package com.example.manisha.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;

/** * Created by Manisha on 7/29/2017. */
public class NewActivity extends Activity {
    protected void onCreate(Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState); DisplayMetrics metrics = getResources().getDisplayMetrics(); int screenWidth = (int) (metrics.widthPixels * 0.90); int screenHeight = (int) (metrics.heightPixels * 0.80); setContentView(R.layout.new_activity); getWindow().setLayout(screenWidth, screenHeight); // getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); } }

in manifest 
<activity android:name=".NewActivity" android:theme="@android:style/Theme.Dialog">

</activity>

Thursday, 27 July 2017

Convert json array to arraylist and Arraylist to jsonArray

1) Convert json array to arraylist
Gson gson = new Gson();
JSONArray jsonArray = NetworkUtilities.getData("mymodeldata");
Type listType = new TypeToken<List<MyModel>>(){}.getType();
List<MyModel> myModelList = gson.fromJson(jsonArray, listType);
2)Arraylist to jsonArray
List<Customer> customerList = CustomerDB.selectAll();

JsonArray result = (JsonArray) new Gson().toJsonTree(customerList,
            new TypeToken<List<Customer>>() {
            }.getType());

 public class Test {

  public static void main (String[] args) {

    // Initialize a list of type DataObject
    List<DataObject> objList = new ArrayList<DataObject>();
    objList.add(new DataObject(0, "zero"));
    objList.add(new DataObject(1, "one"));
    objList.add(new DataObject(2, "two"));

    // Convert the object to a JSON string
    String json = new Gson().toJson(objList);
    System.out.println(json);

    // Now convert the JSON string back to your java object
    Type type = new TypeToken<List<DataObject>>(){}.getType();
    List<DataObject> inpList = new Gson().fromJson(json, type);
    for (int i=0;i<inpList.size();i++) {
      DataObject x = inpList.get(i);
      System.out.println(x);
    }

  }