GameDetailsDialog: Convert layout to ConstraintLayout
This also removes the FAB from GameDetailsDialog. It was previously outside of the visible area and thus unusable.
This commit is contained in:
parent
4f1511043c
commit
2e13353201
|
@ -80,6 +80,7 @@ dependencies {
|
|||
implementation 'androidx.exifinterface:exifinterface:1.1.0'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
||||
implementation 'com.google.android.material:material:1.0.0'
|
||||
|
||||
// Android TV UI libraries.
|
||||
|
|
|
@ -10,10 +10,7 @@ import android.widget.TextView;
|
|||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
|
||||
import org.dolphinemu.dolphinemu.R;
|
||||
import org.dolphinemu.dolphinemu.activities.EmulationActivity;
|
||||
import org.dolphinemu.dolphinemu.model.GameFile;
|
||||
import org.dolphinemu.dolphinemu.services.GameFileCacheService;
|
||||
import org.dolphinemu.dolphinemu.utils.PicassoUtils;
|
||||
|
@ -52,8 +49,6 @@ public final class GameDetailsDialog extends DialogFragment
|
|||
TextView textGameId = contents.findViewById(R.id.text_game_id);
|
||||
TextView textRevision = contents.findViewById(R.id.text_revision);
|
||||
|
||||
FloatingActionButton buttonLaunch = contents.findViewById(R.id.button_launch);
|
||||
|
||||
String country = getResources().getStringArray(R.array.countryNames)[gameFile.getCountry()];
|
||||
String description = gameFile.getDescription();
|
||||
|
||||
|
@ -68,12 +63,6 @@ public final class GameDetailsDialog extends DialogFragment
|
|||
textGameId.setText(gameFile.getGameId());
|
||||
textRevision.setText(Integer.toString(gameFile.getRevision()));
|
||||
|
||||
buttonLaunch.setOnClickListener(view ->
|
||||
{
|
||||
// Start the emulation activity and send the path of the clicked ROM to it.
|
||||
EmulationActivity.launch(getActivity(), gameFile);
|
||||
});
|
||||
|
||||
PicassoUtils.loadGameBanner(banner, gameFile);
|
||||
|
||||
builder.setView(contents);
|
||||
|
|
|
@ -1,149 +1,137 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout 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_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:paddingStart="24dp"
|
||||
android:paddingEnd="24dp"
|
||||
android:paddingBottom="24dp"
|
||||
android:transitionName="card_game">
|
||||
<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:id="@+id/frameLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="24dp"
|
||||
android:paddingEnd="24dp"
|
||||
android:paddingBottom="24dp"
|
||||
android:transitionName="card_game">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content">
|
||||
<TextView
|
||||
android:id="@+id/text_game_title"
|
||||
style="@android:style/TextAppearance.Material.Headline"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:ellipsize="end"
|
||||
tools:text="Rhythm Heaven Fever"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/banner"
|
||||
android:layout_width="144dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_below="@+id/text_description"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
tools:src="@drawable/no_banner"/>
|
||||
<TextView
|
||||
android:id="@+id/text_description"
|
||||
style="@android:style/TextAppearance.Material.Caption"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
tools:text="Zany rhythm action!"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_game_title" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_game_title"
|
||||
style="@android:style/TextAppearance.Material.Headline"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:ellipsize="end"
|
||||
tools:text="Rhythm Heaven Fever"/>
|
||||
<ImageView
|
||||
android:id="@+id/banner"
|
||||
android:layout_width="144dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
tools:src="@drawable/no_banner"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_description" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_description"
|
||||
style="@android:style/TextAppearance.Material.Caption"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignEnd="@+id/text_game_title"
|
||||
android:layout_alignStart="@+id/text_game_title"
|
||||
android:layout_below="@+id/text_game_title"
|
||||
android:layout_marginTop="8dp"
|
||||
tools:text="Zany rhythm action!"/>
|
||||
<View
|
||||
android:id="@+id/divider"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
android:background="#1F000000"
|
||||
android:layout_marginTop="32dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/banner" />
|
||||
|
||||
<View
|
||||
android:id="@+id/divider"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_below="@+id/banner"
|
||||
android:layout_marginTop="16dp"
|
||||
android:background="#1F000000"/>
|
||||
<ImageView
|
||||
android:id="@+id/icon_country"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:padding="6dp"
|
||||
android:src="@drawable/ic_country"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/divider" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon_country"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_alignStart="@+id/banner"
|
||||
android:layout_alignTop="@+id/divider"
|
||||
android:layout_marginTop="24dp"
|
||||
android:padding="6dp"
|
||||
android:src="@drawable/ic_country"/>
|
||||
<ImageView
|
||||
android:id="@+id/icon_company"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:padding="6dp"
|
||||
android:src="@drawable/ic_company"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/icon_country" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon_company"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_alignStart="@+id/icon_country"
|
||||
android:layout_below="@+id/icon_country"
|
||||
android:layout_marginTop="16dp"
|
||||
android:padding="6dp"
|
||||
android:src="@drawable/ic_company"/>
|
||||
<ImageView
|
||||
android:id="@+id/icon_game_id"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:padding="6dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/icon_company" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon_game_id"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_alignStart="@+id/icon_company"
|
||||
android:layout_below="@+id/icon_company"
|
||||
android:layout_marginTop="16dp"
|
||||
android:padding="6dp"/>
|
||||
<ImageView
|
||||
android:id="@+id/icon_revision"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:padding="6dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/icon_game_id"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/icon_revision"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_alignStart="@+id/icon_game_id"
|
||||
android:layout_below="@+id/icon_game_id"
|
||||
android:layout_marginTop="16dp"
|
||||
android:padding="6dp"/>
|
||||
<TextView
|
||||
android:id="@+id/text_country"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:gravity="center_vertical"
|
||||
tools:text="United States"
|
||||
app:layout_constraintStart_toEndOf="@id/icon_country"
|
||||
app:layout_constraintTop_toTopOf="@id/icon_country"
|
||||
app:layout_constraintBottom_toBottomOf="@id/icon_country" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_country"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_toEndOf="@+id/icon_country"
|
||||
android:layout_alignBottom="@+id/icon_country"
|
||||
android:layout_alignTop="@+id/icon_country"
|
||||
android:gravity="center_vertical"
|
||||
tools:text="United States"/>
|
||||
<TextView
|
||||
android:id="@+id/text_company"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:gravity="center_vertical"
|
||||
tools:text="Nintendo"
|
||||
app:layout_constraintStart_toEndOf="@id/icon_company"
|
||||
app:layout_constraintTop_toTopOf="@id/icon_company"
|
||||
app:layout_constraintBottom_toBottomOf="@id/icon_company" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_company"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBottom="@+id/icon_company"
|
||||
android:layout_alignStart="@+id/text_country"
|
||||
android:layout_alignTop="@+id/icon_company"
|
||||
android:gravity="center_vertical"
|
||||
tools:text="Nintendo"/>
|
||||
<TextView
|
||||
android:id="@+id/text_game_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:gravity="center_vertical"
|
||||
tools:text="SOME01"
|
||||
app:layout_constraintStart_toEndOf="@id/icon_game_id"
|
||||
app:layout_constraintTop_toTopOf="@id/icon_game_id"
|
||||
app:layout_constraintBottom_toBottomOf="@id/icon_game_id" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_game_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBottom="@+id/icon_game_id"
|
||||
android:layout_alignStart="@+id/text_company"
|
||||
android:layout_alignTop="@+id/icon_game_id"
|
||||
android:gravity="center_vertical"
|
||||
tools:text="SOME01"/>
|
||||
<TextView
|
||||
android:id="@+id/text_revision"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:gravity="center_vertical"
|
||||
tools:text="0"
|
||||
app:layout_constraintStart_toEndOf="@id/icon_revision"
|
||||
app:layout_constraintTop_toTopOf="@id/icon_revision"
|
||||
app:layout_constraintBottom_toBottomOf="@id/icon_revision" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_revision"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBottom="@+id/icon_revision"
|
||||
android:layout_alignStart="@+id/text_game_id"
|
||||
android:layout_alignTop="@+id/icon_revision"
|
||||
android:gravity="center_vertical"
|
||||
tools:text="0"/>
|
||||
|
||||
<android.support.design.widget.FloatingActionButton
|
||||
android:id="@+id/button_launch"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
android:layout_alignEnd="@+id/text_game_title"
|
||||
android:layout_marginBottom="-28dp"
|
||||
android:src="@drawable/ic_play"
|
||||
android:stateListAnimator="@animator/button_elevation"
|
||||
app:rippleColor="?android:colorPrimaryDark"
|
||||
app:borderWidth="0dp"
|
||||
app:elevation="6dp"
|
||||
app:pressedTranslationZ="12dp"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</FrameLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
Loading…
Reference in New Issue