2017-05-13 29 views
1

Soundに接続され、ボタンの色に接続されたSeekBarsを使用する単純なプロジェクトを作成しました。SeekBarsを使用してRGBスケールが完成していません

私は音に問題はありませんが、RGBカラースケールです。私はコードを書いたが、私の電話にAPKをインストールしたとき、私はエラーを見つけた。私は最後までカーソルを移動すると、カラースケールは、このように、完全なものではありません。

enter image description here

あなたが表示された場合、スケールはその色範囲の終わりではありません。この問題は他の2つのRGB SeekBarsでも持続します。

コードがありますが、どうしたのですか?

final SeekBar r=(SeekBar)findViewById(R.id.seekBar3); 
    final SeekBar g=(SeekBar)findViewById(R.id.seekBar4); 
    final SeekBar b=(SeekBar)findViewById(R.id.seekBar5); 
    r.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
      seekr = r.getProgress(); 
      seekg = g.getProgress(); 
      seekb = b.getProgress(); 

      button1.setBackgroundColor(
        0xff000000 
          + seekr * 0x10000 
          + seekg * 0x100 
          + seekb 
      ); 

      button2.setBackgroundColor(
        0xff000000 
          + seekr * 0x10000 
          + seekg * 0x100 
          + seekb 
      ); 


     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 

      //mplayer.start(); 
     } 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 
      //mplayer.stop(); 

     } 
    }); 

    g.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
      seekr = r.getProgress(); 
      seekg = g.getProgress(); 
      seekb = b.getProgress(); 
      button1.setBackgroundColor(
        0xff000000 
          + seekr * 0x10000 
          + seekg * 0x100 
          + seekb 
      ); 
      button2.setBackgroundColor(
        0xff000000 
          + seekr * 0x10000 
          + seekg * 0x100 
          + seekb 
      ); 


     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 

      //mplayer.start(); 
     } 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 
      //mplayer.stop(); 

     } 
    }); 
    b.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
      seekr = r.getProgress(); 
      seekg = g.getProgress(); 
      seekb = b.getProgress(); 
      button1.setBackgroundColor(
        0xff000000 
          + seekr * 0x10000 
          + seekg * 0x100 
          + seekb 
      ); 
      button2.setBackgroundColor(
        0xff000000 
          + seekr * 0x10000 
          + seekg * 0x100 
          + seekb 
      ); 


     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 

      //mplayer.start(); 
     } 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 
      //mplayer.stop(); 

     } 
    }); 

} 

XML:

<SeekBar 
     android:id="@+id/seekBar3" 
     android:layout_width="305dp" 
     android:layout_height="31dp" 
     tools:layout_editor_absoluteX="59dp" 
     tools:layout_editor_absoluteY="365dp" 
     android:layout_marginTop="25dp" 
     android:layout_below="@+id/button2" 
     android:layout_alignStart="@+id/button" /> 

    <SeekBar 
     android:id="@+id/seekBar4" 
     android:layout_width="309dp" 
     android:layout_height="27dp" 
     tools:layout_editor_absoluteX="59dp" 
     tools:layout_editor_absoluteY="459dp" 
     android:layout_marginTop="30dp" 
     android:layout_below="@+id/seekBar3" 
     android:layout_alignStart="@+id/button" /> 

    <SeekBar 
     android:id="@+id/seekBar5" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignStart="@+id/seekBar4" 
     android:layout_below="@+id/seekBar4" 
     android:layout_marginTop="19dp" 
     android:layout_alignEnd="@+id/seekBar4" /> 
+0

シークバーのXMLファイルも提供してください。 –

+0

完了@regevavraham –

答えて

0

あなたはあなたのxmlファイルにandroid:max="255"を使用して255であるためにあなたのシークバーの最大値を定義する必要があります。

アンドロイドマニュアルに書かれたよう:デフォルトでは

、プログレスバーが必要な場合は、それが100に到達したとき、あなたはアンドロイドを使用して、最大値(フルバーの値)を調整することができますがいっぱいです:max属性。

関連する問題