updating the main screens UI, use rounded corners at thumbnails
This commit is contained in:
parent
48235c629a
commit
a7c1789a55
8 changed files with 99 additions and 108 deletions
|
@ -77,7 +77,7 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.simplemobiletools:commons:5.31.17'
|
implementation 'com.simplemobiletools:commons:5.31.18'
|
||||||
implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
|
implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
|
||||||
implementation 'it.sephiroth.android.exif:library:1.0.1'
|
implementation 'it.sephiroth.android.exif:library:1.0.1'
|
||||||
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.19'
|
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.19'
|
||||||
|
|
|
@ -166,7 +166,7 @@ class WidgetConfigureActivity : SimpleActivity() {
|
||||||
val path = directoryDao.getDirectoryThumbnail(folderPath)
|
val path = directoryDao.getDirectoryThumbnail(folderPath)
|
||||||
if (path != null) {
|
if (path != null) {
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
loadJpg(path, config_image, config.cropThumbnails)
|
loadJpg(path, config_image, config.cropThumbnails, true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,6 @@ import kotlinx.android.synthetic.main.directory_item_grid.view.dir_lock
|
||||||
import kotlinx.android.synthetic.main.directory_item_grid.view.dir_name
|
import kotlinx.android.synthetic.main.directory_item_grid.view.dir_name
|
||||||
import kotlinx.android.synthetic.main.directory_item_grid.view.dir_pin
|
import kotlinx.android.synthetic.main.directory_item_grid.view.dir_pin
|
||||||
import kotlinx.android.synthetic.main.directory_item_grid.view.dir_thumbnail
|
import kotlinx.android.synthetic.main.directory_item_grid.view.dir_thumbnail
|
||||||
import kotlinx.android.synthetic.main.directory_item_grid.view.photo_cnt
|
|
||||||
import kotlinx.android.synthetic.main.directory_item_list.view.*
|
import kotlinx.android.synthetic.main.directory_item_list.view.*
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
|
@ -662,9 +661,6 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
|
||||||
private fun setupView(view: View, directory: Directory) {
|
private fun setupView(view: View, directory: Directory) {
|
||||||
val isSelected = selectedKeys.contains(directory.path.hashCode())
|
val isSelected = selectedKeys.contains(directory.path.hashCode())
|
||||||
view.apply {
|
view.apply {
|
||||||
dir_name.text = if (groupDirectSubfolders && directory.subfoldersCount > 1) "${directory.name} (${directory.subfoldersCount})" else directory.name
|
|
||||||
dir_path?.text = "${directory.path.substringBeforeLast("/")}/"
|
|
||||||
photo_cnt.text = directory.subfoldersMediaCount.toString()
|
|
||||||
val thumbnailType = when {
|
val thumbnailType = when {
|
||||||
directory.tmb.isVideoFast() -> TYPE_VIDEOS
|
directory.tmb.isVideoFast() -> TYPE_VIDEOS
|
||||||
directory.tmb.isGif() -> TYPE_GIFS
|
directory.tmb.isGif() -> TYPE_GIFS
|
||||||
|
@ -684,7 +680,7 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
|
||||||
dir_lock.applyColorFilter(config.backgroundColor.getContrastColor())
|
dir_lock.applyColorFilter(config.backgroundColor.getContrastColor())
|
||||||
} else {
|
} else {
|
||||||
dir_lock.beGone()
|
dir_lock.beGone()
|
||||||
activity.loadImage(thumbnailType, directory.tmb, dir_thumbnail, scrollHorizontally, animateGifs, cropThumbnails)
|
activity.loadImage(thumbnailType, directory.tmb, dir_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
dir_pin.beVisibleIf(pinnedFolders.contains(directory.path))
|
dir_pin.beVisibleIf(pinnedFolders.contains(directory.path))
|
||||||
|
@ -693,14 +689,18 @@ class DirectoryAdapter(activity: BaseSimpleActivity, var dirs: ArrayList<Directo
|
||||||
dir_location.setImageResource(if (directory.location == LOCATION_SD) R.drawable.ic_sd_card_vector else R.drawable.ic_usb_vector)
|
dir_location.setImageResource(if (directory.location == LOCATION_SD) R.drawable.ic_sd_card_vector else R.drawable.ic_usb_vector)
|
||||||
}
|
}
|
||||||
|
|
||||||
photo_cnt.beVisibleIf(showMediaCount)
|
|
||||||
|
|
||||||
if (isListViewType) {
|
|
||||||
dir_name.setTextColor(textColor)
|
dir_name.setTextColor(textColor)
|
||||||
dir_path.setTextColor(textColor)
|
if (isListViewType) {
|
||||||
|
dir_name.text = if (groupDirectSubfolders && directory.subfoldersCount > 1) "${directory.name} [${directory.subfoldersCount}]" else directory.name
|
||||||
|
dir_path.text = "${directory.path.substringBeforeLast("/")}/"
|
||||||
photo_cnt.setTextColor(textColor)
|
photo_cnt.setTextColor(textColor)
|
||||||
|
photo_cnt.text = directory.subfoldersMediaCount.toString()
|
||||||
|
photo_cnt.beVisibleIf(showMediaCount)
|
||||||
|
dir_path.setTextColor(textColor)
|
||||||
dir_pin.applyColorFilter(textColor)
|
dir_pin.applyColorFilter(textColor)
|
||||||
dir_location.applyColorFilter(textColor)
|
dir_location.applyColorFilter(textColor)
|
||||||
|
} else {
|
||||||
|
dir_name.text = if (groupDirectSubfolders && directory.subfoldersCount > 1) "${directory.name} [${directory.subfoldersCount}]" else "${directory.name} (${directory.subfoldersMediaCount})"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -543,14 +543,14 @@ class MediaAdapter(activity: BaseSimpleActivity, var media: MutableList<Thumbnai
|
||||||
}
|
}
|
||||||
|
|
||||||
if (loadImageInstantly) {
|
if (loadImageInstantly) {
|
||||||
activity.loadImage(medium.type, path, medium_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, rotatedImagePaths)
|
activity.loadImage(medium.type, path, medium_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, false, rotatedImagePaths)
|
||||||
} else {
|
} else {
|
||||||
medium_thumbnail.setImageDrawable(null)
|
medium_thumbnail.setImageDrawable(null)
|
||||||
medium_thumbnail.isHorizontalScrolling = scrollHorizontally
|
medium_thumbnail.isHorizontalScrolling = scrollHorizontally
|
||||||
delayHandler.postDelayed({
|
delayHandler.postDelayed({
|
||||||
val isVisible = visibleItemPaths.contains(medium.path)
|
val isVisible = visibleItemPaths.contains(medium.path)
|
||||||
if (isVisible) {
|
if (isVisible) {
|
||||||
activity.loadImage(medium.type, path, medium_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, rotatedImagePaths)
|
activity.loadImage(medium.type, path, medium_thumbnail, scrollHorizontally, animateGifs, cropThumbnails, false, rotatedImagePaths)
|
||||||
}
|
}
|
||||||
}, IMAGE_LOAD_DELAY)
|
}, IMAGE_LOAD_DELAY)
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,8 @@ import com.bumptech.glide.Glide
|
||||||
import com.bumptech.glide.Priority
|
import com.bumptech.glide.Priority
|
||||||
import com.bumptech.glide.load.DecodeFormat
|
import com.bumptech.glide.load.DecodeFormat
|
||||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||||
|
import com.bumptech.glide.load.resource.bitmap.CenterCrop
|
||||||
|
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
||||||
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
|
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
|
||||||
import com.bumptech.glide.request.RequestOptions
|
import com.bumptech.glide.request.RequestOptions
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
|
@ -396,17 +398,17 @@ fun Context.getFolderNameFromPath(path: String): String {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.loadImage(type: Int, path: String, target: MySquareImageView, horizontalScroll: Boolean, animateGifs: Boolean, cropThumbnails: Boolean,
|
fun Context.loadImage(type: Int, path: String, target: MySquareImageView, horizontalScroll: Boolean, animateGifs: Boolean, cropThumbnails: Boolean,
|
||||||
skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
roundCorners: Boolean, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
||||||
target.isHorizontalScrolling = horizontalScroll
|
target.isHorizontalScrolling = horizontalScroll
|
||||||
if (type == TYPE_IMAGES || type == TYPE_VIDEOS || type == TYPE_RAWS || type == TYPE_PORTRAITS) {
|
if (type == TYPE_IMAGES || type == TYPE_VIDEOS || type == TYPE_RAWS || type == TYPE_PORTRAITS) {
|
||||||
if (type == TYPE_IMAGES && path.isPng()) {
|
if (type == TYPE_IMAGES && path.isPng()) {
|
||||||
loadPng(path, target, cropThumbnails, skipMemoryCacheAtPaths)
|
loadPng(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
|
||||||
} else {
|
} else {
|
||||||
loadJpg(path, target, cropThumbnails, skipMemoryCacheAtPaths)
|
loadJpg(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
|
||||||
}
|
}
|
||||||
} else if (type == TYPE_GIFS) {
|
} else if (type == TYPE_GIFS) {
|
||||||
if (!animateGifs) {
|
if (!animateGifs) {
|
||||||
loadStaticGIF(path, target, cropThumbnails, skipMemoryCacheAtPaths)
|
loadStaticGIF(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -417,12 +419,12 @@ fun Context.loadImage(type: Int, path: String, target: MySquareImageView, horizo
|
||||||
|
|
||||||
target.scaleType = if (cropThumbnails) ImageView.ScaleType.CENTER_CROP else ImageView.ScaleType.FIT_CENTER
|
target.scaleType = if (cropThumbnails) ImageView.ScaleType.CENTER_CROP else ImageView.ScaleType.FIT_CENTER
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
loadStaticGIF(path, target, cropThumbnails, skipMemoryCacheAtPaths)
|
loadStaticGIF(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
|
||||||
} catch (e: OutOfMemoryError) {
|
} catch (e: OutOfMemoryError) {
|
||||||
loadStaticGIF(path, target, cropThumbnails, skipMemoryCacheAtPaths)
|
loadStaticGIF(path, target, cropThumbnails, roundCorners, skipMemoryCacheAtPaths)
|
||||||
}
|
}
|
||||||
} else if (type == TYPE_SVGS) {
|
} else if (type == TYPE_SVGS) {
|
||||||
loadSVG(path, target, cropThumbnails)
|
loadSVG(path, target, cropThumbnails, roundCorners)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -447,7 +449,7 @@ fun Context.getPathLocation(path: String): Int {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.loadPng(path: String, target: MySquareImageView, cropThumbnails: Boolean, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
fun Context.loadPng(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Boolean, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
||||||
val options = RequestOptions()
|
val options = RequestOptions()
|
||||||
.signature(path.getFileSignature())
|
.signature(path.getFileSignature())
|
||||||
.skipMemoryCache(skipMemoryCacheAtPaths?.contains(path) == true)
|
.skipMemoryCache(skipMemoryCacheAtPaths?.contains(path) == true)
|
||||||
|
@ -455,57 +457,79 @@ fun Context.loadPng(path: String, target: MySquareImageView, cropThumbnails: Boo
|
||||||
.priority(Priority.LOW)
|
.priority(Priority.LOW)
|
||||||
.format(DecodeFormat.PREFER_ARGB_8888)
|
.format(DecodeFormat.PREFER_ARGB_8888)
|
||||||
|
|
||||||
val builder = Glide.with(applicationContext)
|
if (cropThumbnails) options.centerCrop() else options.fitCenter()
|
||||||
|
var builder = Glide.with(applicationContext)
|
||||||
.asBitmap()
|
.asBitmap()
|
||||||
.load(path)
|
.load(path)
|
||||||
|
.apply(options)
|
||||||
|
|
||||||
if (cropThumbnails) options.centerCrop() else options.fitCenter()
|
if (roundCorners) {
|
||||||
builder.apply(options).into(target)
|
val cornerRadius = resources.getDimension(R.dimen.rounded_corner_radius).toInt()
|
||||||
|
builder = builder.transform(CenterCrop(), RoundedCorners(cornerRadius))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.loadJpg(path: String, target: MySquareImageView, cropThumbnails: Boolean, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
builder.into(target)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Context.loadJpg(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Boolean, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
||||||
val options = RequestOptions()
|
val options = RequestOptions()
|
||||||
.signature(path.getFileSignature())
|
.signature(path.getFileSignature())
|
||||||
.skipMemoryCache(skipMemoryCacheAtPaths?.contains(path) == true)
|
.skipMemoryCache(skipMemoryCacheAtPaths?.contains(path) == true)
|
||||||
.priority(Priority.LOW)
|
.priority(Priority.LOW)
|
||||||
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
|
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
|
||||||
|
|
||||||
val builder = Glide.with(applicationContext)
|
if (cropThumbnails) options.centerCrop() else options.fitCenter()
|
||||||
|
var builder = Glide.with(applicationContext)
|
||||||
.load(path)
|
.load(path)
|
||||||
|
.apply(options)
|
||||||
if (cropThumbnails) options.centerCrop() else options.fitCenter()
|
|
||||||
builder.apply(options)
|
|
||||||
.transition(DrawableTransitionOptions.withCrossFade())
|
.transition(DrawableTransitionOptions.withCrossFade())
|
||||||
.into(target)
|
|
||||||
|
if (roundCorners) {
|
||||||
|
val cornerRadius = resources.getDimension(R.dimen.rounded_corner_radius).toInt()
|
||||||
|
builder = builder.transform(CenterCrop(), RoundedCorners(cornerRadius))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.loadStaticGIF(path: String, target: MySquareImageView, cropThumbnails: Boolean, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
builder.into(target)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Context.loadStaticGIF(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Boolean, skipMemoryCacheAtPaths: ArrayList<String>? = null) {
|
||||||
val options = RequestOptions()
|
val options = RequestOptions()
|
||||||
.signature(path.getFileSignature())
|
.signature(path.getFileSignature())
|
||||||
.skipMemoryCache(skipMemoryCacheAtPaths?.contains(path) == true)
|
.skipMemoryCache(skipMemoryCacheAtPaths?.contains(path) == true)
|
||||||
.priority(Priority.LOW)
|
.priority(Priority.LOW)
|
||||||
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
|
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
|
||||||
|
|
||||||
val builder = Glide.with(applicationContext)
|
if (cropThumbnails) options.centerCrop() else options.fitCenter()
|
||||||
|
var builder = Glide.with(applicationContext)
|
||||||
.asBitmap() // make sure the GIF wont animate
|
.asBitmap() // make sure the GIF wont animate
|
||||||
.load(path)
|
.load(path)
|
||||||
|
.apply(options)
|
||||||
|
|
||||||
if (cropThumbnails) options.centerCrop() else options.fitCenter()
|
if (roundCorners) {
|
||||||
builder.apply(options)
|
val cornerRadius = resources.getDimension(R.dimen.rounded_corner_radius).toInt()
|
||||||
.into(target)
|
builder = builder.transform(CenterCrop(), RoundedCorners(cornerRadius))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.loadSVG(path: String, target: MySquareImageView, cropThumbnails: Boolean) {
|
builder.into(target)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Context.loadSVG(path: String, target: MySquareImageView, cropThumbnails: Boolean, roundCorners: Boolean) {
|
||||||
target.scaleType = if (cropThumbnails) ImageView.ScaleType.CENTER_CROP else ImageView.ScaleType.FIT_CENTER
|
target.scaleType = if (cropThumbnails) ImageView.ScaleType.CENTER_CROP else ImageView.ScaleType.FIT_CENTER
|
||||||
|
|
||||||
val options = RequestOptions().signature(path.getFileSignature())
|
val options = RequestOptions().signature(path.getFileSignature())
|
||||||
Glide.with(applicationContext)
|
var builder = Glide.with(applicationContext)
|
||||||
.`as`(PictureDrawable::class.java)
|
.`as`(PictureDrawable::class.java)
|
||||||
.listener(SvgSoftwareLayerSetter())
|
.listener(SvgSoftwareLayerSetter())
|
||||||
.load(path)
|
.load(path)
|
||||||
.apply(options)
|
.apply(options)
|
||||||
.transition(DrawableTransitionOptions.withCrossFade())
|
.transition(DrawableTransitionOptions.withCrossFade())
|
||||||
.into(target)
|
|
||||||
|
if (roundCorners) {
|
||||||
|
val cornerRadius = resources.getDimension(R.dimen.rounded_corner_radius).toInt()
|
||||||
|
builder = builder.transform(CenterCrop(), RoundedCorners(cornerRadius))
|
||||||
|
}
|
||||||
|
|
||||||
|
builder.into(target)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.getCachedDirectories(getVideosOnly: Boolean = false, getImagesOnly: Boolean = false, forceShowHidden: Boolean = false, callback: (ArrayList<Directory>) -> Unit) {
|
fun Context.getCachedDirectories(getVideosOnly: Boolean = false, getImagesOnly: Boolean = false, forceShowHidden: Boolean = false, callback: (ArrayList<Directory>) -> Unit) {
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
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:id="@+id/directories_refresh_layout"
|
android:id="@+id/directories_refresh_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -26,14 +25,14 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/directories_switch_searching"
|
android:layout_below="@+id/directories_switch_searching"
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:alpha="0.8"
|
android:alpha="0.8"
|
||||||
android:textStyle="italic"
|
android:gravity="center_horizontal"
|
||||||
android:paddingStart="@dimen/activity_margin"
|
android:paddingStart="@dimen/activity_margin"
|
||||||
android:paddingTop="@dimen/activity_margin"
|
android:paddingTop="@dimen/activity_margin"
|
||||||
android:paddingEnd="@dimen/activity_margin"
|
android:paddingEnd="@dimen/activity_margin"
|
||||||
android:text="@string/no_media_with_filters"
|
android:text="@string/no_media_with_filters"
|
||||||
android:textSize="@dimen/bigger_text_size"
|
android:textSize="@dimen/bigger_text_size"
|
||||||
|
android:textStyle="italic"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyTextView
|
<com.simplemobiletools.commons.views.MyTextView
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<RelativeLayout
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:id="@+id/dir_holder"
|
android:id="@+id/dir_holder"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="@dimen/medium_margin"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:padding="1px">
|
android:paddingTop="@dimen/medium_margin">
|
||||||
|
|
||||||
<com.simplemobiletools.gallery.pro.views.MySquareImageView
|
<com.simplemobiletools.gallery.pro.views.MySquareImageView
|
||||||
android:id="@+id/dir_thumbnail"
|
android:id="@+id/dir_thumbnail"
|
||||||
|
@ -32,10 +32,9 @@
|
||||||
android:id="@+id/dir_check"
|
android:id="@+id/dir_check"
|
||||||
android:layout_width="@dimen/selection_check_size"
|
android:layout_width="@dimen/selection_check_size"
|
||||||
android:layout_height="@dimen/selection_check_size"
|
android:layout_height="@dimen/selection_check_size"
|
||||||
android:layout_alignEnd="@+id/dir_shadow_holder"
|
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:layout_margin="@dimen/small_margin"
|
android:layout_margin="@dimen/medium_margin"
|
||||||
android:background="@drawable/circle_background"
|
android:background="@drawable/circle_background"
|
||||||
android:contentDescription="@null"
|
android:contentDescription="@null"
|
||||||
android:padding="@dimen/tiny_margin"
|
android:padding="@dimen/tiny_margin"
|
||||||
|
@ -48,68 +47,36 @@
|
||||||
android:layout_height="@dimen/selection_check_size"
|
android:layout_height="@dimen/selection_check_size"
|
||||||
android:layout_alignParentStart="true"
|
android:layout_alignParentStart="true"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:layout_margin="@dimen/small_margin"
|
android:layout_margin="@dimen/medium_margin"
|
||||||
android:background="@drawable/circle_black_background"
|
android:background="@drawable/circle_black_background"
|
||||||
android:contentDescription="@string/pin"
|
android:contentDescription="@string/pin"
|
||||||
android:padding="@dimen/small_margin"
|
android:padding="@dimen/small_margin"
|
||||||
android:src="@drawable/ic_pin"
|
android:src="@drawable/ic_pin"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/dir_shadow_holder"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="@dimen/tmb_shadow_height"
|
|
||||||
android:layout_alignStart="@+id/dir_bottom_holder"
|
|
||||||
android:layout_alignEnd="@+id/dir_bottom_holder"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:background="@drawable/gradient_background"
|
|
||||||
android:contentDescription="@null"/>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/dir_bottom_holder"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignStart="@+id/dir_thumbnail"
|
|
||||||
android:layout_alignEnd="@+id/dir_thumbnail"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:gravity="bottom"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:paddingLeft="@dimen/medium_margin"
|
|
||||||
android:paddingTop="@dimen/small_margin"
|
|
||||||
android:paddingRight="@dimen/medium_margin"
|
|
||||||
android:paddingBottom="@dimen/small_margin">
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/dir_name"
|
android:id="@+id/dir_name"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/dir_thumbnail"
|
||||||
|
android:layout_alignStart="@+id/dir_thumbnail"
|
||||||
|
android:layout_toStartOf="@+id/dir_location"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:paddingBottom="@dimen/small_margin"
|
android:paddingTop="@dimen/medium_margin"
|
||||||
android:shadowColor="@color/default_background_color"
|
|
||||||
android:shadowRadius="4"
|
|
||||||
android:textColor="@android:color/white"
|
android:textColor="@android:color/white"
|
||||||
android:textSize="@dimen/normal_text_size" />
|
android:textSize="@dimen/normal_text_size" />
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/photo_cnt"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textColor="@android:color/white"
|
|
||||||
android:textSize="@dimen/normal_text_size"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/dir_location"
|
android:id="@+id/dir_location"
|
||||||
android:layout_width="@dimen/sd_card_icon_size"
|
android:layout_width="@dimen/sd_card_icon_size"
|
||||||
android:layout_height="@dimen/sd_card_icon_size"
|
android:layout_height="@dimen/sd_card_icon_size"
|
||||||
android:layout_alignEnd="@+id/dir_bottom_holder"
|
android:layout_alignBottom="@+id/dir_name"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:alpha="0.8"
|
android:alpha="0.8"
|
||||||
android:contentDescription="@null"
|
android:contentDescription="@null"
|
||||||
android:paddingEnd="@dimen/small_margin"
|
android:paddingTop="@dimen/tiny_margin"
|
||||||
android:paddingBottom="@dimen/small_margin"
|
android:paddingBottom="@dimen/tiny_margin"
|
||||||
android:src="@drawable/ic_sd_card_vector"
|
android:src="@drawable/ic_sd_card_vector"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
|
|
|
@ -23,4 +23,5 @@
|
||||||
<dimen name="widget_initial_size">110dp</dimen>
|
<dimen name="widget_initial_size">110dp</dimen>
|
||||||
<dimen name="full_brush_size">40dp</dimen>
|
<dimen name="full_brush_size">40dp</dimen>
|
||||||
<dimen name="lock_padding">40dp</dimen>
|
<dimen name="lock_padding">40dp</dimen>
|
||||||
|
<dimen name="rounded_corner_radius">10dp</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in a new issue