Java tutorial
/******************************************************************************* * Copyright (C) 2005-2013 Alfresco Software Limited. * * This file is part of Alfresco Mobile for Android. * * 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 org.alfresco.mobile.android.application.extension.samsung.pen; import org.alfresco.mobile.android.application.extension.samsung.R; import org.alfresco.mobile.android.ui.utils.UIUtils; import android.content.res.Configuration; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.view.Window; import android.view.WindowManager; import android.widget.Button; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; public class SNotePagesDialogFragment extends DialogFragment { public static final String TAG = SNotePagesDialogFragment.class.getName(); private int totalPages = 1; private int currentPageNumber = 1; private int originPageNumber = 1; // /////////////////////////////////////////////////////////////////////////// // CONSTRUCTOR // /////////////////////////////////////////////////////////////////////////// public SNotePagesDialogFragment() { } // /////////////////////////////////////////////////////////////////////////// // LIFECYCLE // /////////////////////////////////////////////////////////////////////////// @Override public void onStart() { getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); getDialog().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.mime_pages); super.onStart(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { getDialog().setTitle(R.string.editor_pages_move); getDialog().requestWindowFeature(Window.FEATURE_LEFT_ICON); ViewGroup v = (ViewGroup) inflater.inflate(R.layout.snote_pages, container, false); int width = (int) Math.round(UIUtils.getScreenDimension(getActivity())[0] * (Float.parseFloat( getResources().getString(android.R.dimen.dialog_min_width_major).replace("%", "")) * 0.01)); v.setLayoutParams(new LayoutParams(width, LayoutParams.MATCH_PARENT)); final SeekBar seekbar = ((SeekBar) v.findViewById(R.id.seekbar_pages)); final TextView tv = ((TextView) v.findViewById(R.id.pages_number)); tv.setText(String.valueOf(originPageNumber + 1) + " / " + String.valueOf(totalPages)); seekbar.setMax(totalPages - 1); seekbar.setProgress(originPageNumber); seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { currentPageNumber = progress + 1; tv.setText(String.valueOf(currentPageNumber) + " / " + String.valueOf(totalPages)); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); final Button validate = (Button) v.findViewById(R.id.create_document); final Button cancel = (Button) v.findViewById(R.id.cancel); validate.setOnClickListener(new OnClickListener() { public void onClick(View v) { ((SNoteEditorActivity) getActivity()).movePage(currentPageNumber - 1); dismiss(); } }); cancel.setOnClickListener(new OnClickListener() { public void onClick(View v) { SNotePagesDialogFragment.this.dismiss(); } }); return v; } @Override public void onDestroyView() { if (getDialog() != null && getRetainInstance()) { getDialog().setDismissMessage(null); } super.onDestroyView(); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Avoid background stretching if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) { getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); } } // /////////////////////////////////////////////////////////////////////////// // SETTERS // /////////////////////////////////////////////////////////////////////////// public void setInfo(int pageIndexById, int pageCount) { this.originPageNumber = pageIndexById; this.totalPages = pageCount; } }