Poprzedni post został przeniesiony w inne, dziwne miejsce choć dotyczył programowania.
Więc spróbujmy inaczej.
Aplikacja wykorzystuje zdjęcia. Zdjęcie można zrobić w aplikacji lub pobrać z galerii.
Nie chcę robić dwóch buttonów więc po naciśnięciu buttona "DODAJ ZDJĘCIE" chciałbym aby wyświetlił się AlertDialog lub coś innego gdzie moglibyśmy wybrać czy chcemy użyć aparatu czy wybrać zdjęcie z galerii.
Czy coś takiego można zrobić w AlertDialog? Jeśli tak to jak? (nie mogę znaleźć żadnych podpowiedzi w internecie) A może jest jakiś inny sposób, jakiś inny komponent który w łatwy sposób pozwoli uzyskać taki efekt?
edit:
Gdyby ktoś kiedyś szukał to rozwiązałem to tak:
Zrobiłem layout:
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="16dp"
android:paddingBottom="16dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_galeria"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:foreground="?android:attr/selectableItemBackground">
<ImageView
android:id="@+id/imageView16"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_marginStart="24dp"
android:layout_marginLeft="24dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/galeria" />
<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:text="@string/dodaj_z_galerii"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/imageView16"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_zdjecie"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:foreground="?android:attr/selectableItemBackground">
<ImageView
android:id="@+id/imageView19"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_marginStart="24dp"
android:layout_marginLeft="24dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/aparat" />
<TextView
android:id="@+id/textView13"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:text="@string/zrob_zdjecie"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/imageView19"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
Kod obsługujący alert:
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
LayoutInflater inflater = MainActivitye.this.getLayoutInflater();
builder.setTitle("Dodaj zdjęcie");
View view = inflater.inflate(R.layout.alert_zdjecie, null);
view.findViewById(R.id.cl_galeria).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//wykonywany kod po kliknięciu
}
});
view.findViewById(R.id.cl_zdjecie).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//wykonywany kod po kliknięciu
}
});
builder.setView(view);
builder.create();
builder.show();