• Stars
    star
    294
  • Rank 141,303 (Top 3 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated about 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

✏️ Use only one image to set a background with a click effect for the View

OneDrawable

Build Status

OneDrawable

Only use one drawable/color resource to set the background of the View. | OneDrawable - 仅使用一张资源图片为 View 设置具有按下效果的背景

Sample

Please see the sample app for a library usage example.

sample apk

shot

demo

Gradle

dependencies {
    compile 'name.gudong:one-drawable:1.1.1'
}

Usage

common usage

Drawable drawable = OneDrawable.createBgDrawable(this,R.drawable.ic_action_name);
tvIcon1.setBackgroundDrawable(drawable);

common api

  • createBgDrawable (use drawable resource create a background)
  • createBgColor (use color resource create a background)

indicate pressed mode

pressed state with dark mode. In this mode, drawable will automatically cover a layer of dark when pressed.

drawable background

Drawable icon1 = OneDrawable.createBgDrawableWithDarkMode(this,R.drawable.ic_action_name);
tvIcon1.setBackgroundDrawable(icon1);

color background

Drawable color2 = OneDrawable.createBgColor(this,R.color.colorAccent);
tvColor2.setBackgroundDrawable(color2);

pressed state with alpha mode. In this mode, drawable will automatically change alpha value to 0.7 when pressed.

Drawable icon3 = OneDrawable.createBgDrawableWithAlphaMode(this,R.drawable.ic_action_add);
tvIcon3.setBackgroundDrawable(icon3);

Custom Alpha value

Sometimes, maybe you need custom alpha value, you can use methods like follows.

Drawable icon2 = OneDrawable.createBgDrawableWithDarkMode(this,R.drawable.ic_action_add,0.4f);
tvIcon2.setBackgroundDrawable(icon2);

Drawable icon4 = OneDrawable.createBgColorWithAlphaMode(this,R.drawable.ic_action_name,0.3f);
tvIcon4.setBackgroundDrawable(icon4);

Drawable icon4 = OneDrawable.createBgColorWithDarkMode(this,R.color.colorAccent,0.3f);
tvIcon4.setBackgroundDrawable(icon4);


Drawable icon4 = OneDrawable.createBgColorWithAlphaMode(this,R.color.colorAccent,0.3f);
tvIcon4.setBackgroundDrawable(icon4);

Note: Because of only clickable view show it's pressed drawable, so you should set view clickable as true before you want to watch pressed effect.

Author

http://gudong.name

https://github.com/maoruibin

http://weibo.com/maoruibin

License

Copyright 2017 GuDong

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

More Repositories

1

TranslateApp

📝 A translations app without interruptions, copy words and translate directly, show result by top view.
Java
1,807
star
2

GankDaily

A application used to show technical information in every working days, use MVP pattern.
Java
696
star
3

AppPlus

A open source android application, and used to manage app,export apk, watch recent processes.
Java
437
star
4

AwesomeArticles

🗃️ 收集看到的内容特别棒的技术文章并会配有一段个人短评
412
star
5

ReView

🎨 A view to help developers and designers view the View's font size, color, and border.
Java
237
star
6

AwesomeAndroidStudioPlugin

Collect awesome plugin for AndroidStudio in our develop life.
150
star
7

ViewController

📌 A view controller manages a set of views that make up a portion of your app’s user interface,it aims to make ui develop change more clear and flexible.(ViewControler 是一种界面开发组件化实现方式,利用它可以将一些复杂的 UI 界面开发组件化.)
Java
122
star
8

GankDagger2

When Meizi meet MVP + Dagger2 + Retrofit2
Java
57
star
9

liuye

柳叶清单开放 API 文档
32
star
10

ChinaShare

社交分享组件
Java
32
star
11

FlowerLoading

🌻 Android loading or progress view, just like iOS IndicatorView.
Java
31
star
12

LockScreenDemo

一个简单的Android 锁屏 demo实现
Java
22
star
13

PowerKey

模仿MIUI6 长按电源键的关机界面
Java
21
star
14

maoruibin.github.com

personal blog
JavaScript
21
star
15

TrendChartView

A custom sliding indicator view showing the air quality index(AQI) by hour( From MoWeather)
Java
11
star
16

HandlerAnalysis

9
star
17

ActionButton

Use TextView as a ActionButton with left icon
Java
8
star
18

pgy.flight

为内测分发平台蒲公英开发的 Android 客户端
Java
7
star
19

skills-learning-list

Everything can be learning
5
star
20

FreeNoteData

2
star
21

MaoAppBase

Kotlin
2
star
22

list

todo is funny
Vue
2
star
23

idea

那些一闪而过的好主意
2
star
24

xPic

1
star
25

awesome-background-music

collect awesome background musics
1
star