Yes you do change their alpha but I don't see these drawables attached to any view or even being drawn manually.
On Thu, Jul 23, 2009 at 2:27 PM, Erin<[email protected]> wrote: > > Supposedly I setAlpha of both of them to Transparent in my OnCreate > menu after setting up the button clicks. The transparency is also > supposed to change during the OnSeekBarChanged-->OnProgressChanged > method. > > On Jul 23, 2:18 pm, Romain Guy <[email protected]> wrote: >> I don't see you do anything with rect1 and rect2?? >> >> On Thu, Jul 23, 2009 at 2:14 PM, >> >> Erin<[email protected]> wrote: >> >> > Thanks for the speedy reply. >> >> > I copied all my code into a new project with the 1.5 SDK but, while >> > I'm not getting any code errors, the rectangles don't change >> > transparency. I've thrown in a bunch of log statements to prove that >> > the code is actually getting to the setAlpha commands but when I run >> > it in the emulator it just shows the rectangles as constantly opaque. >> >> > Any thoughts? >> >> > On Jul 23, 11:55 am, Romain Guy <[email protected]> wrote: >> >> mutate() is available only in Android 1.5, it seems like you are >> >> developing with an older SDK. >> >> >> On Thu, Jul 23, 2009 at 11:11 AM, >> >> >> Erin<[email protected]> wrote: >> >> >> > Hi, >> >> > I'm sorry if I've missed something obvious but here goes. >> >> >> > I'm currently trying to make an android app where when one moves a >> >> > seekbar past a certain value a blue rectangle goes from transparent to >> >> > opaque. This rectangle/value pairing will be repeated for roughly 10 >> >> > values in the seekbar. (Picture the AT&T bars being controlled by a >> >> > seekbar). I understand that when I try to change the alpha of my >> >> > rectangles (created from a resource in my drawable folder) I'm >> >> > changing both of them at the same time. I also understand the solution >> >> > to this is by calling mutate on my rectangles. What I'm having trouble >> >> > with is actually accomplishing this. >> >> >> > The error I get is: The method mutate() is undefined for the type >> >> > Drawable (lines 59 and 61). >> >> >> > I've tried changing my rectangles to ImageView and to ShapeDrawable. >> >> > I've also tried modeling it off of the following from one of the >> >> > previous posts but that didn't work either. >> >> > Drawable star = context.getResources().getDrawable(R.drawable.star); >> >> > if (book.isFavorite()) { >> >> > star.mutate().setAlpha(255); // opaque >> >> > } else { >> >> > star.mutate().setAlpha(70); // translucent >> >> >> > Any help would be very, very appreciated. >> >> > Thanks, >> >> > Erin >> >> >> > Below is all of my code: >> >> >> > package com.artificialmuscle.controllers; >> >> >> > import android.app.Activity; >> >> > import android.app.AlertDialog; >> >> > import android.content.Context; >> >> > import android.content.DialogInterface; >> >> > import android.graphics.Canvas; >> >> > import android.graphics.drawable.Drawable; >> >> > import android.graphics.drawable.ShapeDrawable; >> >> > import android.graphics.drawable.shapes.RectShape; >> >> > import android.media.MediaPlayer; >> >> > import android.os.Bundle; >> >> > import android.util.AttributeSet; >> >> > import android.util.Log; >> >> > import android.view.View; >> >> > import android.view.View.OnClickListener; >> >> > import android.widget.Button; >> >> > import android.widget.SeekBar; >> >> > import android.widget.SeekBar.OnSeekBarChangeListener; >> >> >> > public class Controllers extends Activity { >> >> > /** Called when the activity is first created. */ >> >> >> > private final int OPAQUE = 255; >> >> > private final int TRANSPARENT = 75; >> >> >> > private MediaPlayer mp = null; >> >> > Drawable rect1 = null; >> >> > Drawable rect2 = null; >> >> >> > �...@override >> >> > public void onCreate(Bundle savedInstanceState) { >> >> > super.onCreate(savedInstanceState); >> >> > setContentView(R.layout.main); >> >> >> > Button button1 = (Button)findViewById(R.id.button1); >> >> > Button button2 = (Button)findViewById(R.id.button2); >> >> > Button button3 = (Button)findViewById(R.id.button3); >> >> >> > button1.setOnClickListener(new OnClickListener(){ >> >> > public void onClick(View viewParam){createDialogs(1);}}); >> >> > button2.setOnClickListener(new OnClickListener(){ >> >> > public void onClick(View viewParam){createDialogs(2);}}); >> >> > button3.setOnClickListener(new OnClickListener(){ >> >> > public void onClick(View >> >> > viewParam){createDialogs(3);}}); >> >> >> > rect1 = (ShapeDrawable)this.getResources().getDrawable >> >> > (R.drawable.bluerect); >> >> > rect2 = this.getResources().getDrawable(R.id.rect2); >> >> >> > // Ignore the different syntax I was only trying >> >> > options >> >> > rect1.mutate(); >> >> > rect1.setAlpha(TRANSPARENT); >> >> > rect2.mutate().setAlpha(TRANSPARENT); >> >> >> > SeekBar mySeekBar = (SeekBar)findViewById(R.id.mySeekBar); >> >> > mySeekBar.setMax(100); >> >> >> > OnSeekBarChangeListener myListener = new >> >> > OnSeekBarChangeListener() >> >> > { >> >> >> > public void onProgressChanged(SeekBar arg0, int arg1, >> >> > boolean >> >> > arg2) { >> >> > // TODO Auto-generated method stub >> >> >> > Log.i("seekbar","seekbar value changed >> >> > to "+arg1); >> >> >> > // play sounds on 10, 20.. 90 >> >> > if (arg1%10 == 0) { >> >> > if (mp != null) { >> >> > mp.stop(); >> >> > mp.release(); >> >> > } >> >> > mp = >> >> > MediaPlayer.create(Controllers.this, R.raw.sine25hz20ms); >> >> > mp.start(); >> >> > } >> >> >> > //if (arg1 == 10)Log.i("rectangle","I am >> >> > at 10!!!"); >> >> >> > if (arg1 >= 10) >> >> > {rect1.setAlpha(OPAQUE);}// Log.i("rectangle","set >> >> > rect 1");} >> >> > else rect1.setAlpha(TRANSPARENT); >> >> >> > if (arg1 >= 20) >> >> > {rect2.setAlpha(OPAQUE);}//Log.i("rectangle","set >> >> > rect 2");} >> >> > else rect2.setAlpha(TRANSPARENT); >> >> > } >> >> >> > public void onStartTrackingTouch(SeekBar >> >> > seekBar) { >> >> > // TODO Auto-generated method stub >> >> >> > } >> >> >> > public void onStopTrackingTouch(SeekBar seekBar) >> >> > { >> >> > // TODO Auto-generated method stub >> >> >> > }}; >> >> >> > mySeekBar.setOnSeekBarChangeListener(myListener); >> >> >> > } >> >> >> > public void createDialogs(int dialogID){ >> >> > AlertDialog.Builder builder = new AlertDialog.Builder >> >> > (Controllers.this); >> >> >> > //if (dialogID == 1) >> >> > switch (dialogID) >> >> > { >> >> > case 1: builder.setMessage("You clicked Button"+dialogID) >> >> > .setNeutralButton("DUH", new >> >> > DialogInterface.OnClickListener >> >> > () { >> >> > public void >> >> > onClick(DialogInterface dialog, int id) { >> >> > dialog.cancel(); >> >> > }// onClick >> >> > }) >> >> > .show(); >> >> > break; >> >> > case 2: >> >> > builder.setMessage("You clicked me, I am >> >> > Button"+dialogID) >> >> > .setNeutralButton("DUH", new >> >> > DialogInterface.OnClickListener() { >> >> > public void onClick(DialogInterface >> >> > dialog, int id) { >> >> > dialog.cancel(); >> >> > }// onClick >> >> > }) >> >> > .show(); >> >> > break; >> >> > case 3: >> >> > builder.setMessage("You clicked me") >> >> > .setNeutralButton("DUH", new >> >> > DialogInterface.OnClickListener() { >> >> > public void onClick(DialogInterface >> >> > dialog, int id) { >> >> > dialog.cancel(); >> >> > }// onClick >> >> > }) >> >> > .show(); >> >> > break; >> >> > default: >> >> > builder.setMessage("I have no idea what you clicked") >> >> > .setNeutralButton("Shit", new >> >> > DialogInterface.OnClickListener() >> >> > { >> >> > public void onClick(DialogInterface >> >> > dialog, int id) { >> >> > dialog.cancel(); >> >> > }// onClick >> >> > }) >> >> > .show(); >> >> > break; >> >> > } // end of switch >> >> > } >> >> >> > private class CustomDrawableView extends View { >> >> > private ShapeDrawable mDrawable; >> >> >> > public CustomDrawableView(Context >> >> ... >> >> read more » > > > -- Romain Guy Android framework engineer [email protected] Note: please don't send private questions to me, as I don't have time to provide private support. All such questions should be posted on public forums, where I and others can see and answer them --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Beginners" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~----------~----~----~----~------~----~------~--~---

