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.
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.
<?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>
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 {...});
}
}
Esta seção explica o funcionamento de todos os atributos específicos do FluigSdkMediaView
.
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.
<sdk.fluig.com.ui.components.background.FluigSdkMediaView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:gradient_enabled="true" />
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();
int leftColor
Define a cor de fundo do lado esquerdo do gradiente.
Caso não seja definida, a cor padrão utilizada é #ed165a ()
.
<sdk.fluig.com.ui.components.background.FluigSdkMediaView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:gradient_leftColor="@color/my_left_color" />
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);
int rightColor
Define a cor de fundo do lado esquerdo do gradiente.
Caso não seja definida, a cor padrão utilizada é #f15823 ()
.
<sdk.fluig.com.ui.components.background.FluigSdkMediaView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:gradient_rightColor="@color/my_right_color" />
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);
Drawable imageDrawable
Define a imagem utilizada como fundo. O componente faz as seguintes modificações na imagem fornecida:
- Aplica um clareamento
- Desfoca a imagem
- Altera o tamanho da imagem para preencher todo o componente, mantendo suas proporções
<sdk.fluig.com.ui.components.background.FluigSdkMediaView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:image="@drawable/my_image" />
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);
int solidColor
Define a cor de fundo do componente para uma única cor.
Caso não seja definida, a cor padrão utilizada é #a0a0a0 ()
.
<sdk.fluig.com.ui.components.background.FluigSdkMediaView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:solidColor="@color/my_color" />
FluigSdkMediaView mediaView = (FluigSdkMediaView) findViewById(R.id.my_media_view_id);
int myColor = ...;
mediaView.setSolidColor(myColor);
//caso queira usar a cor padrão
mediaView.setDefaultSolidColor();
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.
<sdk.fluig.com.ui.components.background.FluigSdkMediaView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:video="@raw/my_video" />
FluigSdkMediaView mediaView = (FluigSdkMediaView) findViewById(R.id.my_media_view_id);
int myVideoId = ...;
mediaView.setVideo(myVideoId);