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
.
int backgroundColor
Atributo padrão do SurfaceView
.
Define a cor de fundo do componente. Caso seja usado junto ao backgroundColorEnd, define a cor do lado esquerdo de um 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"
android:background="@color/my_left_color" />
FluigSdkMediaView mediaView = (FluigSdkMediaView) findViewById(R.id.my_media_view_id);
int myLeftColor = ...;
mediaView.setBackgroundColor(myLeftColor);
int backgroundColorEnd
Define a cor de fundo do lado direito de um 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:backgroundColorEnd="@color/my_right_color" />
FluigSdkMediaView mediaView = (FluigSdkMediaView) findViewById(R.id.my_media_view_id);
int myRightColor = ...;
mediaView.setBackgroundColorEnd(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);