2017-04-23 3 views
1

Ich muss ein Android Studio-Projekt tun, dass es die Transparenz eines ImageView mit einer SeekBar ändern muss.Ändern Sie die Bildtransparenz mit einer SeekBar

Ich habe dieses Programm:

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.ImageView; 
import android.widget.SeekBar; 
import android.widget.Toast; 

public class MainActivity extends AppCompatActivity { 

    private int seekTransparent; 
    ImageView color; 
    SeekBar seekBarTransparent; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     color = (ImageView)findViewById(R.id.changeColor); 
     seekBarTransparent = (SeekBar) findViewById(R.id.seekBar); 
     updateNow(); 


     seekBarTransparent.setOnSeekBarChangeListener(seekBarChangeListener); 

    } 

    private SeekBar.OnSeekBarChangeListener seekBarChangeListener = new 
SeekBar.OnSeekBarChangeListener() { 


     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean 
fromUser) { 
      updateNow(); 
     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 
      Toast.makeText(getApplicationContext(), "toast in uso", 
Toast.LENGTH_SHORT).show(); 
     } 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 
      Toast.makeText(getApplicationContext(), "toast non in uso", 
Toast.LENGTH_SHORT).show(); 
     } 
    }; 

     private void updateNow(){ 
      seekTransparent = seekBarTransparent.getProgress(); 
     color.getBackground().setAlpha(192 + seekTransparent * 0x10000); 

    } 
} 

ich die Anwendung laufen, aber auf meinem Smartphone funktioniert es nicht, dass jemand kann mir helfen?

+0

Sie die Einstellung der Alpha des Hintergrunds anstelle des Bildes. Versuchen Sie 'color.setImageAlpha()'. Außerdem sollte der Bereich von Alpha 0 - 255 sein. Https://developer.android.com/reference/android/widget/ImageView.html#setImageAlpha() – Gary99

Antwort

0

Dies ist die xml des seekbar

<SeekBar 
      android:id="@+id/opacitybar" 
      android:layout_width="200dp" 
      android:layout_height="wrap_content" 
      android:max="10" 
      android:progress="10" 
      android:layout_alignTop="@+id/opacitylbl" 
      android:layout_centerHorizontal="true" /> 

Und das ist der Code der Aktivität

logoseekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     int opacity = 100; // from 0 to 255 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int progresValue, boolean fromUser) { 
      im_move_zoom_rotate.setAlpha(progresValue * 25); 

     } 
     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 

     } 
     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 

     } 

    }); 

können Sie die Werte ändern, wenn Sie

wollen
Verwandte Themen