List of usage examples for android.widget TabHost.TabSpec getTag
@ViewDebug.ExportedProperty
public Object getTag()
From source file:com.github.colorchief.colorchief.MainActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TabHost tabHost = (TabHost) findViewById(R.id.tabHost); tabHost.setup();//w w w . j a v a 2 s. c o m final TabHost.TabSpec tabImageView = tabHost.newTabSpec("Image View"); final TabHost.TabSpec tabSettings = tabHost.newTabSpec("Settings"); final TabHost.TabSpec tabAbout = tabHost.newTabSpec("About"); tabImageView.setIndicator("", ContextCompat.getDrawable(this, R.drawable.ic_action_picture)); tabImageView.setContent(R.id.tabImageView); tabSettings.setIndicator("", ContextCompat.getDrawable(this, R.drawable.ic_action_gear)); tabSettings.setContent(R.id.tabSettings); tabAbout.setIndicator("", ContextCompat.getDrawable(this, R.drawable.ic_action_help)); tabAbout.setContent(R.id.tabAbout); /** Add the tabs to the TabHost to display. */ tabHost.addTab(tabImageView); tabHost.addTab(tabSettings); tabHost.addTab(tabAbout); colorLUT.initLUT(LUT_SIZE, LUT_SIZE, LUT_SIZE); //check savedInstance // for Tab state and set active tab accordingly // for LUT values and update (restore) accordingly if (savedInstanceState != null) { tabHost.setCurrentTab(savedInstanceState.getInt("Active Tab")); colorLUT.setColorLutArray(savedInstanceState.getIntArray("Color LUT")); } ((SeekBar) findViewById(R.id.seekBarChromaPowerFactor)).setMax(POWER_FACTOR_SEEK_BAR_MAX); ((SeekBar) findViewById(R.id.seekBarChromaPowerFactor)).setProgress(getSeekPosition(powerFactor)); if (Lselect == LutCalculate.L_SELECT_IN) { ((RadioButton) findViewById(R.id.radioButtonLin)).setChecked(true); ((RadioButton) findViewById(R.id.radioButtonLout)).setChecked(false); } else if (Lselect == LutCalculate.L_SELECT_OUT) { ((RadioButton) findViewById(R.id.radioButtonLin)).setChecked(false); ((RadioButton) findViewById(R.id.radioButtonLout)).setChecked(true); } if (Cselect == LutCalculate.C_SELECT_ABSOLUTE) { ((RadioButton) findViewById(R.id.radioButtonCin)).setChecked(true); ((RadioButton) findViewById(R.id.radioButtonCrelative)).setChecked(false); ((SeekBar) findViewById(R.id.seekBarChromaPowerFactor)).setEnabled(false); } else if (Cselect == LutCalculate.C_SELECT_RELATIVE) { ((RadioButton) findViewById(R.id.radioButtonCin)).setChecked(false); ((RadioButton) findViewById(R.id.radioButtonCrelative)).setChecked(true); ((SeekBar) findViewById(R.id.seekBarChromaPowerFactor)).setEnabled(true); } if (uriIccProfileIn != null) iccProfileIn.loadFromFile(uriIccProfileIn); if (uriIccProfileOut != null) iccProfileOut.loadFromFile(uriIccProfileOut); if (bitmapLoaded) { transformImage(); updateImageViewer(); } else { ((ImageView) findViewById(R.id.imageView)).setImageBitmap( BitmapFactory.decodeResource(getResources(), R.drawable.ic_action_folder_open_blue)); } ((ImageView) findViewById(R.id.imageView)).addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { // if layout is not complete we will get all zero values for the positions, so ignore the event if (left == 0 && top == 0 && right == 0 && bottom == 0) { return; } else { if (bitmapLoaded) { try { decodeImageUri(uriBitmapOriginal, (ImageView) findViewById(R.id.imageView)); } catch (FileNotFoundException e) { Log.e(TAG, "Failed to grab Bitmap: " + e); } //if (iccProfileOut.isValidProfile() && iccProfileIn.isValidProfile()) transformImage(); updateImageViewer(); } } } }); ((SeekBar) findViewById(R.id.seekBarChromaPowerFactor)) .setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { powerFactor = getPowerFactor(seekBar.getProgress()); //convertImage(seekBar); //updateImageViewer(); } }); //when switching tabs, make sure: //a: update the image when switching to the imageview tab in case any settings changes were made //b: hide the color controls overlay if we are not on the imageview tab tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() { @Override public void onTabChanged(String tabId) { if (tabId.equals(tabImageView.getTag())) { //Log.d(TAG,"Tab changed to image view"); if (iccProfileIn.isValidProfile() && iccProfileOut.isValidProfile() && bitmapLoaded) { recalculateTransform(); transformImage(); updateImageViewer(); } } else if (tabId.equals(tabAbout.getTag())) { ((LinearLayout) findViewById(R.id.overlayColorControl)).setVisibility(View.INVISIBLE); InputStream inputStream = getResources().openRawResource(R.raw.about); ByteArrayOutputStream byteArrayStream = new ByteArrayOutputStream(); try { int bytesRead = inputStream.read(); while (bytesRead != -1) { byteArrayStream.write(bytesRead); bytesRead = inputStream.read(); } } catch (IOException e) { e.printStackTrace(); } //TextView textViewAbout = (TextView) findViewById(R.id.textViewAbout); //textViewAbout.setText(Html.fromHtml(byteArrayStream.toString())); WebView webViewAbout = (WebView) findViewById(R.id.webViewAbout); webViewAbout.loadDataWithBaseURL(null, byteArrayStream.toString(), "text/html", "utf-8", null); } else { ((LinearLayout) findViewById(R.id.overlayColorControl)).setVisibility(View.INVISIBLE); } } }); }