Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用seekbar(Android)填充框颜色_Android - Fatal编程技术网

使用seekbar(Android)填充框颜色

使用seekbar(Android)填充框颜色,android,Android,所以…我试图填充一个文本视图,根据活动顶部的红色、绿色和蓝色搜索栏的进度扩展整个活动屏幕的下半部分。用户可以移动任何Seekbar,扩展活动下半部分整个宽度和长度的TextView将填充正确的RGB颜色方案,以匹配所有3个Seekbar的1-100移动 有什么办法吗?我在谷歌上搜索了Android文档,却找不到我要找的东西。即使是给我一个关于该做什么的想法的链接也很好:) *我应该提到这里的代码在android虚拟机上运行得非常好 import android.os.Bundle; import

所以…我试图填充一个文本视图,根据活动顶部的红色、绿色和蓝色搜索栏的进度扩展整个活动屏幕的下半部分。用户可以移动任何Seekbar,扩展活动下半部分整个宽度和长度的TextView将填充正确的RGB颜色方案,以匹配所有3个Seekbar的1-100移动

有什么办法吗?我在谷歌上搜索了Android文档,却找不到我要找的东西。即使是给我一个关于该做什么的想法的链接也很好:)

*我应该提到这里的代码在android虚拟机上运行得非常好

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;

public class MainActivity extends Activity implements OnSeekBarChangeListener
{
    private SeekBar red;
    private SeekBar green;
    private SeekBar blue;

    private TextView progress1;
    private TextView progress2;
    private TextView progress3;


    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        red = (SeekBar)findViewById(R.id.seekBar1);
        red.setOnSeekBarChangeListener(this);
        green = (SeekBar)findViewById(R.id.seekBar2);
        green.setOnSeekBarChangeListener(this);
        blue = (SeekBar)findViewById(R.id.seekBar3);
        blue.setOnSeekBarChangeListener(this);
        progress1 = (TextView)findViewById(R.id.textView2);
        progress2 = (TextView)findViewById(R.id.textView4);
        progress3 = (TextView)findViewById(R.id.textView6);     
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) 
    {
        switch(seekBar.getId())
        {
        case R.id.seekBar1:
        progress1.setText(""+progress); 
        break;  
        case R.id.seekBar2:
            progress2.setText(""+progress);
            break;
        case R.id.seekBar3:
            progress3.setText(""+progress);
            break;
        }       

    }

    @Override
    public void onStartTrackingTouch(SeekBar arg0) 
    {
        // TODO Auto-generated method stub

    }

    @Override
    public void onStopTrackingTouch(SeekBar arg0) 
    {
        // TODO Auto-generated method stub

    }

}

将seekbar配置为最大值255,然后在
onProgressChanged()
中使用
Color.argb()
():


谢谢你的代码和文件。非常有用。完成,完成:D
  int color = Color.argb(255, red.getProgress(), green.getProgress(), blue.getProgress());
  //you can also split that into the 3 channels if you wish
  //i'm assuming you actually want to show the resulting color
  progress1.setBackgroundColor(color);