diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a947d5c..28163fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,6 +8,7 @@
+
+
+
+
diff --git a/app/src/main/java/com/streamplayer/ChannelAdapter.java b/app/src/main/java/com/streamplayer/ChannelAdapter.java
index 3f348ef..5e18d2e 100644
--- a/app/src/main/java/com/streamplayer/ChannelAdapter.java
+++ b/app/src/main/java/com/streamplayer/ChannelAdapter.java
@@ -43,6 +43,10 @@ public class ChannelAdapter extends RecyclerView.Adapter {
+ float scale = hasFocus ? 1.08f : 1f;
+ v.animate().scaleX(scale).scaleY(scale).setDuration(120).start();
+ });
}
@Override
diff --git a/app/src/main/java/com/streamplayer/MainActivity.java b/app/src/main/java/com/streamplayer/MainActivity.java
index a837062..eb902ae 100644
--- a/app/src/main/java/com/streamplayer/MainActivity.java
+++ b/app/src/main/java/com/streamplayer/MainActivity.java
@@ -15,7 +15,8 @@ public class MainActivity extends AppCompatActivity {
setContentView(R.layout.activity_main);
RecyclerView recyclerView = findViewById(R.id.channel_grid);
- recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
+ recyclerView.setLayoutManager(new GridLayoutManager(this, getSpanCount()));
+ recyclerView.setHasFixedSize(true);
ChannelAdapter adapter = new ChannelAdapter(
ChannelRepository.getChannels(),
channel -> {
@@ -25,5 +26,10 @@ public class MainActivity extends AppCompatActivity {
startActivity(intent);
});
recyclerView.setAdapter(adapter);
+ recyclerView.post(recyclerView::requestFocus);
+ }
+
+ private int getSpanCount() {
+ return getResources().getInteger(R.integer.channel_grid_span);
}
}
diff --git a/app/src/main/res/drawable/banner_streamplayer.xml b/app/src/main/res/drawable/banner_streamplayer.xml
new file mode 100644
index 0000000..4fe3dc1
--- /dev/null
+++ b/app/src/main/res/drawable/banner_streamplayer.xml
@@ -0,0 +1,18 @@
+
+
+ -
+
+
+
+
+
+ -
+
+
+
diff --git a/app/src/main/res/drawable/bg_channel_item.xml b/app/src/main/res/drawable/bg_channel_item.xml
deleted file mode 100644
index 359e8fd..0000000
--- a/app/src/main/res/drawable/bg_channel_item.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
diff --git a/app/src/main/res/drawable/bg_channel_item_selector.xml b/app/src/main/res/drawable/bg_channel_item_selector.xml
new file mode 100644
index 0000000..1635de3
--- /dev/null
+++ b/app/src/main/res/drawable/bg_channel_item_selector.xml
@@ -0,0 +1,30 @@
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_channel.xml b/app/src/main/res/layout/item_channel.xml
index a088452..c43f9dc 100644
--- a/app/src/main/res/layout/item_channel.xml
+++ b/app/src/main/res/layout/item_channel.xml
@@ -3,7 +3,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="6dp"
- android:background="@drawable/bg_channel_item"
+ android:background="@drawable/bg_channel_item_selector"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="16dp">
diff --git a/app/src/main/res/values-sw720dp/integers.xml b/app/src/main/res/values-sw720dp/integers.xml
new file mode 100644
index 0000000..2986b28
--- /dev/null
+++ b/app/src/main/res/values-sw720dp/integers.xml
@@ -0,0 +1,4 @@
+
+
+ 5
+
diff --git a/app/src/main/res/values/integers.xml b/app/src/main/res/values/integers.xml
new file mode 100644
index 0000000..0675125
--- /dev/null
+++ b/app/src/main/res/values/integers.xml
@@ -0,0 +1,4 @@
+
+
+ 3
+