У меня вопрос по поводу моего java кода. Я хотел бы открыть изображение в виде диалога, а затем выбрать цвет изображения.
Средство выбора цвета работает нормально. Диалог также работает. (Изображение открывается во всплывающем окне)
Единственная проблема заключается в том, что когда я открываю изображение в диалоговом окне, палитра цветов больше не работает.
Пожалуйста, помогите?
Код!
public class MainActivity extends AppCompatActivity {
ImageView mImageView;
Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
View mylayout = LayoutInflater.from(this).inflate(R.layout.activity_2,null);
final ImageView myImage = (ImageView) mylayout.findViewById(R.id.imageView1);
myImage.setDrawingCacheEnabled(true);
myImage.buildDrawingCache(true);
final Button button1 = (Button) findViewById(R.id.button1);
myImage.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN || event.getAction() == MotionEvent.ACTION_MOVE) {
try {
bitmap = myImage.getDrawingCache();
int pixel = bitmap.getPixel((int) event.getX(), (int) event.getY());
//getting RGB values
int r = Color.red(pixel);
int g = Color.green(pixel);
int b = Color.blue(pixel);
//getting Hex value
String hex = "#" + Integer.toHexString(pixel);
//set background color of view
//mColorView.setBackgroundColor(Color.rgb(r,g,b));
System.out.println("r"+r+"g"+g+"b"+b);
// Make the variable a global var easy way
} catch(Exception e){
System.out.println("FOUT JONGUH");
}
}
return true;
}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Dialog dialog = new Dialog(MainActivity.this);
dialog.setContentView(R.layout.activity_2);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.show();
}
});
}
}
MAIN XML:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteY="427dp" />
Второй XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@drawable/dirk" />