Links

Video Feed Layouts

Initialisation of the FwVideoFeedView

To initialise the FwVideoFeedView host app must call init() function which accepts ViewOptions instance as an optional parameter:
val videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView)
videoFeedView.init()
Configuration passed via ViewOptions programatically has higher priority and overrides the xml attributes.

Horizontal Layout

<com.firework.videofeed.FwVideoFeedView
android:id="@+id/videoFeedView"
android:layout_width="match_parent"
android:layout_height="400dp"
app:fw_feedLayout="horizontal"
app:fw_feedResource="discovery"
app:fw_feedTitleTextColor="@color/white"
app:fw_feedTitleTextNumberOfLines="1"
app:fw_feedTitleTextPadding="4dp"
app:fw_feedTitleTextSize="24sp"
app:fw_itemSpacing="12dp"
app:fw_showFeedTitle="true" />
Programmatically
Kotlin
Java
val viewOptions = viewOptions {
baseOptions {
feedResource(
FeedResource.Discovery,
)
}
layoutOptions {
feedLayout(
FeedLayout.HORIZONTAL
)
}
}
val videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView)
videoFeedView.init(viewOptions)
BaseOption baseOption = new BaseOption.Builder()
.feedResource(FeedResource.Discovery)
.build();
LayoutOption layoutOption = new LayoutOption.Builder()
.feedLayout(FeedLayout.HORIZONTAL)
.build();
ViewOptions viewOptions = new ViewOptions.Builder()
.baseOption(baseOption)
.layoutOption(layoutOption)
.build();
FwVideoFeedView videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView);
videoFeedView.init(viewOptions);

Vertical Layout

<com.firework.videofeed.FwVideoFeedView
android:id="@+id/videoFeedView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:fw_feedLayout="vertical"
app:fw_feedResource="discovery"
app:fw_feedTitleTextColor="@color/white"
app:fw_feedTitleTextNumberOfLines="1"
app:fw_feedTitleTextPadding="4dp"
app:fw_feedTitleTextSize="24sp"
app:fw_itemSpacing="12dp"
app:fw_showFeedTitle="true" />
Programmatically
Kotlin
Java
val viewOptions = viewOptions {
baseOptions {
feedResource(
FeedResource.Discovery,
)
}
layoutOptions {
feedLayout(
FeedLayout.VERTICAL
)
}
}
val videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView)
videoFeedView.init(viewOptions)
BaseOption baseOption = new BaseOption.Builder()
.feedResource(FeedResource.Discovery)
.build();
LayoutOption layoutOption = new LayoutOption.Builder()
.feedLayout(FeedLayout.VERTICAL)
.build();
ViewOptions viewOptions = new ViewOptions.Builder()
.baseOption(baseOption)
.layoutOption(layoutOption)
.build();
FwVideoFeedView videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView);
videoFeedView.init(viewOptions);

Grid Layout

<com.firework.videofeed.FwVideoFeedView
android:id="@+id/videoFeedView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:fw_feedLayout="grid"
app:fw_columns="3"
app:fw_feedResource="discovery"
app:fw_feedTitleTextColor="@color/white"
app:fw_feedTitleTextNumberOfLines="1"
app:fw_feedTitleTextPadding="4dp"
app:fw_feedTitleTextSize="24sp"
app:fw_itemSpacing="12dp"
app:fw_showFeedTitle="true" />
Programmatically
Kotlin
Java
val viewOptions = viewOptions {
baseOptions {
feedResource(
FeedResource.Discovery,
)
}
layoutOptions {
feedLayout(
FeedLayout.GRID,
)
columnCount(3)
}
}
val videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView)
videoFeedView.init(viewOptions)
BaseOption baseOption = new BaseOption.Builder()
.feedResource(FeedResource.Discovery)
.build();
LayoutOption layoutOption = new LayoutOption.Builder()
.feedLayout(FeedLayout.GRID)
.columnCount(3)
.build();
ViewOptions viewOptions = new ViewOptions.Builder()
.baseOption(baseOption)
.layoutOption(layoutOption)
.build();
FwVideoFeedView videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView);
videoFeedView.init(viewOptions);