【问题标题】:Custom TitleView with Description and Preview Image Android TV (FireTV)带有描述和预览图像的自定义 TitleView Android TV (FireTV)
【发布时间】:2019-05-12 02:27:39
【问题描述】:

我正在尝试使用 Android Lean back 库构建我的第一个 Amazon Fire TV 应用程序。我想将 BrowseFragment 自定义为如下图所示。

我尝试如下设置自定义布局。

 @Override public View onInflateTitleView(LayoutInflater inflater, ViewGroup parent,
      Bundle savedInstanceState) {
    View title = inflater.inflate(R.layout.custom_title_view, parent, false);
    titleImageView = (AppCompatImageView) title.findViewById(R.id.title_content_thumbnail);
    return title;
  }

但生成的布局如下所示,带有透明的 TitleView,列表行显示在其下方。请提出一种更好的方法来使 UI 看起来与第一张图像相似。找不到任何可以实现这一点的东西。

【问题讨论】:

  • 如果你能提供任何解决方案,也陷入同样的​​问题。
  • 我也想做这个。伙计们,如果您有解决方案,请帮助我。
  • 我知道如何做到这一点。稍后会发布解决方案
  • @NabeelK 我需要你的小指导来实现这一目标。谢谢。
  • @Prabhakar 请检查我的答案。随时问。抱歉耽搁了

标签: android android-tv amazon-fire-tv titleview browsefragment


【解决方案1】:

所以,我已经以某种方式解决了这个问题。我的activity_main.xml 看起来像这样。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/default_background"
    android:orientation="vertical"
    >
  <fragment
      android:id="@+id/title_layout"
      android:name="com.kalpnik.vrdevotee.fragment.MainTitleFragment"
      android:layout_width="match_parent"
      android:layout_height="0dp"
      android:layout_alignParentTop="true"
      android:layout_weight="1"
      />
  <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:id="@+id/main_fragment"
      android:layout_width="match_parent"
      android:layout_height="0dp"
      android:layout_below="@+id/title_layout"
      android:layout_weight="1"
      tools:deviceIds="tv"
      />
</LinearLayout>

FrameLayout 中,我将加载从BrowseFragment 扩展的片段,因此这为我提供了必要的行。

在顶部,我正在加载从Fragment 扩展而来的MainTitleFragment,布局如下所示。

fragment_main_title.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:background="#000000"
    android:orientation="horizontal"
    >
  <LinearLayout
      android:layout_width="0dp"
      android:layout_height="match_parent"
      android:layout_weight="1"
      android:background="@color/icon_background"
      android:orientation="vertical"
      android:paddingTop="16dp"
      >
    <TextView
        android:id="@+id/title_content_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginHorizontal="16dp"
        tools:text=""
        android:textColor="@color/colorPrimaryDark"
        android:textSize="28sp"
        android:textStyle="bold"
        />
    <TextView
        android:id="@+id/title_content_description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginHorizontal="16dp"
        android:layout_marginTop="16dp"
        android:ellipsize="end"
        android:text=""
        android:textSize="15sp"

        />
  </LinearLayout>
  <FrameLayout
      android:layout_width="0dp"
      android:layout_height="match_parent"
      android:layout_weight="1"
      >

    <android.support.v7.widget.AppCompatImageView
        android:id="@+id/title_content_thumbnail"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:adjustViewBounds="true"
        android:scaleType="centerCrop"
        />
    <View
        android:layout_width="100dp"
        android:layout_height="match_parent"
        android:layout_gravity="left|start"
        android:background="@drawable/transparent_bg"
        />
    <View
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_gravity="bottom"
        android:background="@drawable/transparent_bg_bottom"
        />
  </FrameLayout>

</LinearLayout>

这对我有用。希望这会有所帮助。

【讨论】:

  • 感谢分享;这是最简单的解决方案。它对我有用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-11
  • 2011-06-30
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
  • 2011-07-19
  • 2019-12-07
相关资源
最近更新 更多