⚡
This commit is contained in:
@@ -55,4 +55,5 @@ dependencies {
|
|||||||
implementation("androidx.documentfile:documentfile:1.0.1")
|
implementation("androidx.documentfile:documentfile:1.0.1")
|
||||||
implementation("com.github.chrisbanes:PhotoView:2.3.0")
|
implementation("com.github.chrisbanes:PhotoView:2.3.0")
|
||||||
implementation("androidx.viewpager:viewpager:1.0.0")
|
implementation("androidx.viewpager:viewpager:1.0.0")
|
||||||
|
implementation("com.jsibbold:zoomage:1.3.1")
|
||||||
}
|
}
|
||||||
@@ -58,7 +58,6 @@
|
|||||||
android:exported="true" />
|
android:exported="true" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.PreviewActivity"
|
android:name=".activities.PreviewActivity"
|
||||||
android:theme="@style/Theme.AppCompat.NoActionBar"
|
|
||||||
android:configChanges="orientation|screenSize"/>
|
android:configChanges="orientation|screenSize"/>
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,8 @@ abstract class BaseGalleryActivity : AppCompatActivity() {
|
|||||||
private fun setupRecyclerView() {
|
private fun setupRecyclerView() {
|
||||||
binding.recyclerView.layoutManager = GridLayoutManager(this, 3)
|
binding.recyclerView.layoutManager = GridLayoutManager(this, 3)
|
||||||
adapter = FileAdapter(
|
adapter = FileAdapter(
|
||||||
fileType
|
fileType,
|
||||||
|
this
|
||||||
)
|
)
|
||||||
binding.recyclerView.adapter = adapter
|
binding.recyclerView.adapter = adapter
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import android.os.Bundle
|
|||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import devs.org.calculator.adapters.ImagePreviewAdapter
|
import devs.org.calculator.adapters.ImagePreviewAdapter
|
||||||
import devs.org.calculator.databinding.ActivityPreviewBinding
|
import devs.org.calculator.databinding.ActivityPreviewBinding
|
||||||
|
import devs.org.calculator.utils.FileManager
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class PreviewActivity : AppCompatActivity() {
|
class PreviewActivity : AppCompatActivity() {
|
||||||
@@ -12,27 +13,49 @@ class PreviewActivity : AppCompatActivity() {
|
|||||||
private lateinit var binding: ActivityPreviewBinding
|
private lateinit var binding: ActivityPreviewBinding
|
||||||
private var currentPosition: Int = 0
|
private var currentPosition: Int = 0
|
||||||
private lateinit var files: List<File>
|
private lateinit var files: List<File>
|
||||||
|
private lateinit var type: String
|
||||||
|
private lateinit var filetype: FileManager.FileType
|
||||||
|
private lateinit var adapter: ImagePreviewAdapter
|
||||||
|
private lateinit var fileManager: FileManager
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ActivityPreviewBinding.inflate(layoutInflater)
|
binding = ActivityPreviewBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
setSupportActionBar(binding.toolbar)
|
fileManager = FileManager(this, this)
|
||||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
|
||||||
supportActionBar?.title = ""
|
|
||||||
|
|
||||||
currentPosition = intent.getIntExtra("position", 0)
|
currentPosition = intent.getIntExtra("position", 0)
|
||||||
val filePath = intent.getStringExtra("file_path") ?: return
|
|
||||||
val file = File(filePath)
|
type = intent.getStringExtra("type").toString()
|
||||||
files = file.parentFile?.listFiles()?.toList() ?: listOf(file)
|
|
||||||
|
filetype = when(type){
|
||||||
|
"IMAGE" ->{
|
||||||
|
FileManager.FileType.IMAGE
|
||||||
|
}
|
||||||
|
|
||||||
|
"VIDEO" ->{
|
||||||
|
FileManager.FileType.VIDEO
|
||||||
|
}
|
||||||
|
|
||||||
|
"AUDIO" ->{
|
||||||
|
FileManager.FileType.AUDIO
|
||||||
|
}
|
||||||
|
|
||||||
|
else -> {
|
||||||
|
FileManager.FileType.DOCUMENT
|
||||||
|
}
|
||||||
|
}
|
||||||
|
files = fileManager.getFilesInHiddenDir(filetype)
|
||||||
|
|
||||||
setupImagePreview()
|
setupImagePreview()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupImagePreview() {
|
private fun setupImagePreview() {
|
||||||
val adapter = ImagePreviewAdapter(this, files)
|
adapter = ImagePreviewAdapter(this, files,filetype)
|
||||||
binding.viewPager.adapter = adapter
|
binding.viewPager.adapter = adapter
|
||||||
|
|
||||||
|
binding.viewPager.setCurrentItem(currentPosition, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onSupportNavigateUp(): Boolean {
|
override fun onSupportNavigateUp(): Boolean {
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package devs.org.calculator.adapters
|
package devs.org.calculator.adapters
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
@@ -9,10 +11,12 @@ import androidx.recyclerview.widget.ListAdapter
|
|||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
import devs.org.calculator.R
|
import devs.org.calculator.R
|
||||||
|
import devs.org.calculator.activities.PreviewActivity
|
||||||
import devs.org.calculator.utils.FileManager
|
import devs.org.calculator.utils.FileManager
|
||||||
|
import kotlinx.coroutines.NonDisposableHandle.parent
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class FileAdapter(private val fileType: FileManager.FileType) :
|
class FileAdapter(private val fileType: FileManager.FileType, var context: Context) :
|
||||||
ListAdapter<File, FileAdapter.FileViewHolder>(FileDiffCallback()) {
|
ListAdapter<File, FileAdapter.FileViewHolder>(FileDiffCallback()) {
|
||||||
|
|
||||||
private val selectedItems = mutableSetOf<Int>()
|
private val selectedItems = mutableSetOf<Int>()
|
||||||
@@ -45,7 +49,29 @@ class FileAdapter(private val fileType: FileManager.FileType) :
|
|||||||
imageView.setImageResource(resourceId)
|
imageView.setImageResource(resourceId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
itemView.setOnClickListener { }
|
itemView.setOnClickListener {
|
||||||
|
|
||||||
|
var fileTypes = when(fileType){
|
||||||
|
|
||||||
|
FileManager.FileType.IMAGE -> {
|
||||||
|
"IMAGE"
|
||||||
|
}
|
||||||
|
FileManager.FileType.VIDEO -> {
|
||||||
|
"VIDEO"
|
||||||
|
}
|
||||||
|
FileManager.FileType.AUDIO -> {
|
||||||
|
"AUDIO"
|
||||||
|
}
|
||||||
|
else -> "DOCUMENT"
|
||||||
|
|
||||||
|
}
|
||||||
|
val intent = Intent(context, PreviewActivity::class.java).apply {
|
||||||
|
putExtra("type", fileTypes)
|
||||||
|
putExtra("position", position)
|
||||||
|
}
|
||||||
|
context.startActivity(intent)
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,33 +1,98 @@
|
|||||||
package devs.org.calculator.adapters
|
package devs.org.calculator.adapters
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.net.Uri
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import android.widget.MediaController
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
import devs.org.calculator.databinding.ItemFileBinding
|
import devs.org.calculator.databinding.ViewpagerItemsBinding
|
||||||
|
import devs.org.calculator.utils.FileManager
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class ImagePreviewAdapter(
|
class ImagePreviewAdapter(
|
||||||
private val context: Context,
|
private val context: Context,
|
||||||
private val images: List<File>
|
private val images: List<File>,
|
||||||
|
private var fileType: FileManager.FileType
|
||||||
) : RecyclerView.Adapter<ImagePreviewAdapter.ImageViewHolder>() {
|
) : RecyclerView.Adapter<ImagePreviewAdapter.ImageViewHolder>() {
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ImageViewHolder {
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ImageViewHolder {
|
||||||
val binding = ItemFileBinding.inflate(
|
val binding = ViewpagerItemsBinding.inflate(LayoutInflater.from(context), parent, false
|
||||||
LayoutInflater.from(context), parent, false
|
|
||||||
)
|
)
|
||||||
return ImageViewHolder(binding)
|
return ImageViewHolder(binding)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBindViewHolder(holder: ImageViewHolder, position: Int) {
|
override fun onBindViewHolder(holder: ImageViewHolder, position: Int) {
|
||||||
val imageUrl = images[position]
|
val imageUrl = images[position]
|
||||||
Glide.with(context)
|
holder.bind(imageUrl)
|
||||||
.load(imageUrl)
|
|
||||||
.into(holder.binding.imageView)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getItemCount(): Int = images.size
|
override fun getItemCount(): Int = images.size
|
||||||
|
|
||||||
inner class ImageViewHolder(val binding: ItemFileBinding) : RecyclerView.ViewHolder(binding.root)
|
inner class ImageViewHolder(val binding: ViewpagerItemsBinding) : RecyclerView.ViewHolder(binding.root) {
|
||||||
}
|
fun bind(file: File) {
|
||||||
|
when (fileType) {
|
||||||
|
FileManager.FileType.VIDEO -> {
|
||||||
|
binding.imageView.visibility = View.GONE
|
||||||
|
binding.videoView.visibility = View.VISIBLE
|
||||||
|
|
||||||
|
// Set up the VideoView with the current video file
|
||||||
|
val videoUri = Uri.fromFile(file)
|
||||||
|
binding.videoView.setVideoURI(videoUri)
|
||||||
|
binding.videoView.start()
|
||||||
|
|
||||||
|
// Create and attach MediaController
|
||||||
|
val mediaController = MediaController(context)
|
||||||
|
mediaController.setAnchorView(binding.videoView)
|
||||||
|
binding.videoView.setMediaController(mediaController)
|
||||||
|
|
||||||
|
// Handle the "Next" button logic
|
||||||
|
mediaController.setPrevNextListeners(
|
||||||
|
{ // Next button clicked
|
||||||
|
val nextPosition = (adapterPosition + 1) % images.size // Loop to start if last
|
||||||
|
playVideoAtPosition(nextPosition)
|
||||||
|
},
|
||||||
|
{ // Previous button clicked
|
||||||
|
val prevPosition = if (adapterPosition - 1 < 0) images.size - 1 else adapterPosition - 1
|
||||||
|
playVideoAtPosition(prevPosition)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// Play next video automatically when the current one finishes
|
||||||
|
binding.videoView.setOnCompletionListener {
|
||||||
|
val nextPosition = (adapterPosition + 1) % images.size // Loop to start if last
|
||||||
|
playVideoAtPosition(nextPosition)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
FileManager.FileType.IMAGE -> {
|
||||||
|
binding.imageView.visibility = View.VISIBLE
|
||||||
|
binding.videoView.visibility = View.GONE
|
||||||
|
Glide.with(context)
|
||||||
|
.load(file)
|
||||||
|
.into(binding.imageView)
|
||||||
|
}
|
||||||
|
FileManager.FileType.AUDIO -> {
|
||||||
|
// Handle audio if necessary
|
||||||
|
}
|
||||||
|
else -> {
|
||||||
|
// Handle other types if necessary
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun playVideoAtPosition(position: Int) {
|
||||||
|
val nextFile = images[position]
|
||||||
|
if (fileType == FileManager.FileType.VIDEO) {
|
||||||
|
val videoUri = Uri.fromFile(nextFile)
|
||||||
|
binding.videoView.setVideoURI(videoUri)
|
||||||
|
binding.videoView.start()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
BIN
app/src/main/res/font/ubuntu_regular.ttf
Normal file
BIN
app/src/main/res/font/ubuntu_regular.ttf
Normal file
Binary file not shown.
@@ -1,27 +1,38 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<androidx.appcompat.widget.Toolbar
|
<LinearLayout
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:background="?attr/colorPrimary"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:paddingLeft="15dp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" >
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:textSize="22sp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:text="Preview File"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<androidx.viewpager2.widget.ViewPager2
|
<androidx.viewpager2.widget.ViewPager2
|
||||||
android:id="@+id/viewPager"
|
android:id="@+id/viewPager"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0dp"
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/toolbar" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -34,10 +45,11 @@
|
|||||||
app:layout_constraintStart_toStartOf="parent">
|
app:layout_constraintStart_toStartOf="parent">
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/unhide"
|
android:id="@+id/unHide"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="6dp"
|
android:layout_margin="6dp"
|
||||||
|
android:minWidth="120dp"
|
||||||
android:text="Unhide" />
|
android:text="Unhide" />
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
@@ -45,8 +57,9 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="6dp"
|
android:layout_margin="6dp"
|
||||||
|
android:minWidth="120dp"
|
||||||
android:text="Delete" />
|
android:text="Delete" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</LinearLayout>
|
||||||
29
app/src/main/res/layout/viewpager_items.xml
Normal file
29
app/src/main/res/layout/viewpager_items.xml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_margin="4dp"
|
||||||
|
app:cardCornerRadius="8dp">
|
||||||
|
|
||||||
|
|
||||||
|
<com.jsibbold.zoomage.ZoomageView
|
||||||
|
android:id="@+id/imageView"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
app:zoomage_restrictBounds="false"
|
||||||
|
app:zoomage_animateOnReset="true"
|
||||||
|
app:zoomage_autoResetMode="UNDER"
|
||||||
|
app:zoomage_autoCenter="true"
|
||||||
|
app:zoomage_zoomable="true"
|
||||||
|
app:zoomage_translatable="true"
|
||||||
|
app:zoomage_minScale="0.6"
|
||||||
|
app:zoomage_maxScale="8"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<VideoView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:id="@+id/videoView"/>
|
||||||
|
|
||||||
|
</com.google.android.material.card.MaterialCardView>
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
<item name="colorSecondary">@android:color/system_accent2_200</item>
|
<item name="colorSecondary">@android:color/system_accent2_200</item>
|
||||||
<item name="colorSecondaryVariant">@android:color/system_accent2_300</item>
|
<item name="colorSecondaryVariant">@android:color/system_accent2_300</item>
|
||||||
<item name="colorOnSecondary">@color/black</item>
|
<item name="colorOnSecondary">@color/black</item>
|
||||||
|
<item name="fontFamily">@font/ubuntu_regular</item>
|
||||||
<!-- Status bar color -->
|
<!-- Status bar color -->
|
||||||
<item name="android:statusBarColor">@android:color/transparent</item>
|
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||||
<item name="android:navigationBarColor">@android:color/transparent</item>
|
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||||
|
|||||||
24
app/src/main/res/values-v27/themes.xml
Normal file
24
app/src/main/res/values-v27/themes.xml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
|
||||||
|
<style name="Base.Theme.Calculator" parent="Theme.Material3.DayNight.NoActionBar">
|
||||||
|
<!-- Primary brand color -->
|
||||||
|
<item name="colorPrimary">@android:color/system_accent1_600</item>
|
||||||
|
<item name="colorPrimaryVariant">@android:color/system_accent1_700</item>
|
||||||
|
<item name="colorOnPrimary">@color/white</item>
|
||||||
|
<item name="fontFamily">@font/ubuntu_regular</item>
|
||||||
|
|
||||||
|
<!-- Secondary brand color -->
|
||||||
|
<item name="colorSecondary">@android:color/system_accent2_600</item>
|
||||||
|
<item name="colorSecondaryVariant">@android:color/system_accent2_700</item>
|
||||||
|
<item name="colorOnSecondary">@color/black</item>
|
||||||
|
|
||||||
|
<!-- Status bar color -->
|
||||||
|
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||||
|
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||||
|
|
||||||
|
<!-- Enable window decor fitting -->
|
||||||
|
<item name="android:windowLightStatusBar">true</item>
|
||||||
|
<item name="android:windowLightNavigationBar">true</item>
|
||||||
|
</style>
|
||||||
|
</resources>
|
||||||
24
app/src/main/res/values-v31/themes.xml
Normal file
24
app/src/main/res/values-v31/themes.xml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
|
||||||
|
<style name="Base.Theme.Calculator" parent="Theme.Material3.DayNight.NoActionBar">
|
||||||
|
<!-- Primary brand color -->
|
||||||
|
<item name="colorPrimary">@android:color/system_accent1_600</item>
|
||||||
|
<item name="colorPrimaryVariant">@android:color/system_accent1_700</item>
|
||||||
|
<item name="colorOnPrimary">@color/white</item>
|
||||||
|
|
||||||
|
<!-- Secondary brand color -->
|
||||||
|
<item name="colorSecondary">@android:color/system_accent2_600</item>
|
||||||
|
<item name="colorSecondaryVariant">@android:color/system_accent2_700</item>
|
||||||
|
<item name="colorOnSecondary">@color/black</item>
|
||||||
|
<item name="fontFamily">@font/ubuntu_regular</item>
|
||||||
|
|
||||||
|
<!-- Status bar color -->
|
||||||
|
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||||
|
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||||
|
|
||||||
|
<!-- Enable window decor fitting -->
|
||||||
|
<item name="android:windowLightStatusBar">true</item>
|
||||||
|
<item name="android:windowLightNavigationBar">true</item>
|
||||||
|
</style>
|
||||||
|
</resources>
|
||||||
@@ -5,6 +5,7 @@
|
|||||||
<item name="colorPrimary">@android:color/system_accent1_600</item>
|
<item name="colorPrimary">@android:color/system_accent1_600</item>
|
||||||
<item name="colorPrimaryVariant">@android:color/system_accent1_700</item>
|
<item name="colorPrimaryVariant">@android:color/system_accent1_700</item>
|
||||||
<item name="colorOnPrimary">@color/white</item>
|
<item name="colorOnPrimary">@color/white</item>
|
||||||
|
<item name="fontFamily">@font/ubuntu_regular</item>
|
||||||
|
|
||||||
<!-- Secondary brand color -->
|
<!-- Secondary brand color -->
|
||||||
<item name="colorSecondary">@android:color/system_accent2_600</item>
|
<item name="colorSecondary">@android:color/system_accent2_600</item>
|
||||||
|
|||||||
Reference in New Issue
Block a user