Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 10 Próxima »

Índice

Introdução

FluigSdkMediaView é o principal componente de background personalizado do fluig SDK Android. Este componente deve ser utilizado quando se deseja personalizar o fundo de uma Activity ou Fragment do seu aplicativo.

Este componente é uma subclasse de SurfaceView e, portanto, possui todas as funcionalidades já presentes nesta classe.

Importante

Antes de utilizar o componente, não esqueça de importar o módulo de componentes do SDK. Para saber como, clique aqui.

Uso

No seu projeto, este componente pode ser utilizado no XML de um layout ou dentro de uma classe Java.

O visual e comportamento do FluigSdkMediaView segue o estilo definido pelo fluig Style Guide.

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<merge
    xmlns:android="http://schemas.android.com/apk/res/android">
 
    <sdk.fluig.com.ui.components.background.FluigSdkMediaView
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="@string/my_text" />
 
    </LinearLayout>

</merge>
MainActivity.java
import ...
import sdk.fluig.com.ui.components.background.FluigSdkMediaView;

public class MainActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.my_layout);
 
        FluigSdkMediaView mediaView = (...);
        mediaView.setOnLongClickListener(new OnLongClickListener {...});
    }
}

Atributos

Esta seção explica o funcionamento de todos os atributos específicos do FluigSdkMediaView.

 

Nos XMLs, lembre-se de importar o namespace abaixo.

xmlns:app="http://schemas.android.com/apk/res-auto"

Gradient Enabled

boolean gradientEnabled

Define se o componente usará um gradiente horizontal de duas cores como fundo.

Este atributo pode ser alterado diretamente somente pelo XML. Nas classes Java, basta chamar um dos métodos que alteram a cor do gradiente.

example.xml
<sdk.fluig.com.ui.components.background.FluigSdkMediaView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:gradient_enabled="true" />
Example.java
FluigSdkMediaView mediaView = (FluigSdkMediaView) findViewById(R.id.my_media_view_id);
 
//para habilitar o gradiente, basta chamar setGradientLeftColor(), setGradientRightColor(), setGradient(), setDefaultGradient()
mediaView.setDefaultGradient();
 
//para desabilitá-lo, basta chamar setSolidColor() ou setDefaultSolidColor()
mediaView.setDefaultSolidColor();

Gradient Left Color

int leftColor

Define a cor de fundo do lado esquerdo do gradiente.

Caso não seja definida, a cor padrão utilizada é #ed165a ().

Importante

Este atributo é ignorado, caso gradientEnabled não esteja habilitado.

example.xml
<sdk.fluig.com.ui.components.background.FluigSdkMediaView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:gradient_leftColor="@color/my_left_color" />
Example.java
FluigSdkMediaView mediaView = (FluigSdkMediaView) findViewById(R.id.my_media_view_id);
int myLeftColor = ...;
mediaView.setGradientLeftColor(myLeftColor);
 
//é possível alterá-lo com o método setGradient() também
int rightColor = ...;
mediaView.setGradient(myLeftColor, rightColor);

Gradient Right Color

int rightColor

Define a cor de fundo do lado esquerdo do gradiente.

Caso não seja definida, a cor padrão utilizada é #f15823 ().

Importante

Este atributo é ignorado, caso gradientEnabled não esteja habilitado.

example.xml
<sdk.fluig.com.ui.components.background.FluigSdkMediaView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:gradient_rightColor="@color/my_right_color" />
Example.java
FluigSdkMediaView mediaView = (FluigSdkMediaView) findViewById(R.id.my_media_view_id);
int myRightColor = ...;
mediaView.setGradientRightColor(myRightColor);
 
//é possível alterá-lo com o método setGradient() também
int leftColor = ...;
mediaView.setGradient(leftColor, myRightColor);

Image

Drawable imageDrawable

Define a imagem utilizada como fundo. O componente faz as seguintes modificações na imagem fornecida:

  1. Aplica um clareamento
  2. Desfoca a imagem
  3. Altera o tamanho da imagem para preencher todo o componente, mantendo suas proporções

 

example.xml
<sdk.fluig.com.ui.components.background.FluigSdkMediaView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:image="@drawable/my_image" />
Example.java
FluigSdkMediaView mediaView = (FluigSdkMediaView) findViewById(R.id.my_media_view_id);
mediaView.setImage(R.drawable.my_image);

//caso tenha uma instância de Drawable
Drawable myImage = ...;
mediaView.setImage(myImage);

Solid Color

int solidColor

Define a cor de fundo do componente para uma única cor.

Caso não seja definida, a cor padrão utilizada é #a0a0a0 ().

Importante

Este atributo é ignorado, caso gradientEnabled esteja habilitado.

example.xml
<sdk.fluig.com.ui.components.background.FluigSdkMediaView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:solidColor="@color/my_color" />
Example.java
FluigSdkMediaView mediaView = (FluigSdkMediaView) findViewById(R.id.my_media_view_id);
int myColor = ...;
mediaView.setSolidColor(myColor);

//caso queira usar a cor padrão
mediaView.setDefaultSolidColor();

Video

int videoId

Define o vídeo que irá tocar no fundo. O vídeo é ajustado para preencher todo o componente, mantendo sua proporção, e repete indefinidamente.

Importante

Não é aplicado qualquer filtro no vídeo. Portanto, o recomendado é que o vídeo seja em escala de cinza para melhor conforto visual.

example.xml
<sdk.fluig.com.ui.components.background.FluigSdkMediaView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:video="@raw/my_video" />
Example.java
FluigSdkMediaView mediaView = (FluigSdkMediaView) findViewById(R.id.my_media_view_id);
int myVideoId = ...;
mediaView.setVideo(myVideoId);
  • Sem rótulos