Permite implementar a exibição de estados vazios e de erro de forma simples e totalmente personalizável. Estados vazios podem exibir uma grande variedade de conteúdo. Por exemplo, eles podem incluir uma pesquisa que não retorna resultados ou uma falha na conexão ao iniciar a busca de dados na rede. Embora esses estados não sejam típicos, eles devem ser projetados para evitar confusão e ajudar o usuário a entender rapidamente o que ocorreu.
Não esqueça de dar seu star, espero que essa library seja de grande ajuda em seu projeto.
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
dependencies {
implementation 'com.github.rafaelcalmeida:emptystate:1.3'
}
Em seu xml
<br.com.rca.emptystate.ui.EmptyView
android:id="@+id/emptyView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Em sua Activity
private val emptyState: EmptyState by lazy {
val state = EmptyState()
state.imageRes = R.drawable.ic_phone_wifi
state.title = "No connection found."
state.message = "Please check your internet connectivity and try again."
state.labelButton = "Retry"
state.actionHandler = {
doAction()
}
state
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
emptyView?.emptyState = emptyState
}
Atributo | Descrição |
---|---|
var title: String? | Texto do título |
var titleRes: Int? | Texto do título, referência de StringRes |
var message: String? | Texto da mensagem |
var messageRes: Int? | Texto da mensagem, referência de StringRes |
var labelButton: String? | Texto do botão |
var labelButtonRes: Int? | Texto do botão, referência de StringRes |
var actionHandler: (() -> Unit)? | Handler para receber callback dos cliques no botão |
var imageRes: Int? | Imagem, referência DrawableRes |
var imageColor: Int? | Cor da imagem |
var imageColorRes: Int? | Cor da imagem, referência de ColorRes |
var titleColor: Int? | Cor do texto do título |
var titleColorRes: Int? | Cor do texto do título, referência de ColorRes |
var messageColor: Int? | Cor do texto da mensagem |
var messageColorRes: Int? | Cor do texto da mensagem, referência de ColorRes |
var labelButtonColor: Int? | Cor do texto do botão |
var labelButtonColorRes: Int? | Cor do texto do botão, referência de ColorRes |
Atributo | Descrição |
---|---|
var emptyState: EmptyState? | Representação dos atributos e métodos da EmptyView |
var title: String? | Texto do título |
var message: String? | Texto da mensagem |
var labelButton: String? | Texto do botão |
var actionHandler: (() -> Unit)? | Handler para receber callback dos cliques no botão |
var imageColor: Int? | Cor da imagem |
var titleColor: Int? | Cor do título |
var messageColor: Int? | Cor da mensagem |
var labelButtonColor: Int? | Cor do texto do botão |
Metódo | Descrição |
---|---|
fun setTitleRes(@StringRes resId: Int) | Configura o texto do título |
fun setMessageRes(@StringRes resId: Int) | Configura o texto da mensagem |
fun setLabelButtonRes(@StringRes resId: Int) | Configurar o texto do botão |
fun setImageRes(@DrawableRes resId: Int?) | Configurar a imagem |
fun setImageColorRes(@ColorRes resId: Int?) | Configura a cor da imagem |
fun setTitleColorRes(@ColorRes resId: Int?) | Configura a cor da do título |
fun setMessageColorRes(@ColorRes resId: Int?) | Configura a cor da mensagem |
fun setLabelButtonColorRes(@ColorRes resId: Int?) | Configura a cor do texto do botão |
fun reset() | Reinicia a EmptyView ao seu estado inicial |
Pull requests com cobertura de testes são bem-vindos e incentivados.
Se você encontrar algum erro, por favor, registre uma issue.
Não necessita de nenhuma configuração.
The Apache License, Version 2.0
Copyright (c) 2020 Rafael de Carvalho Almeida
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.