我正在尝试在我的应用上播放youtube视频。我了解这可以通过将活动扩展为YouTubeBaseActivity来实现,因为我无法访问您的工具栏。
mActionBar = (Toolbar) findViewById(R.id.toolbar);
if (mActionBar != null)
{
setSupportActionBar(mActionBar);
}
getSupportActionBar().setTitle(getResources().getString(R.string.youtubetitle));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
我无法解析getSupportActionbar。是否可以通过扩展活动YouTubeBaseActivity轻松访问工具栏。
我做错了吗?
谢谢!
答案 0 :(得分:34)
YouTubeBaseActivity
extends Activity
,(与例如AppCompatActivity
相反),因此getSupportActionBar()
方法不存在。
您可以尝试让您的课程扩展AppCompatActivity
,并使用YouTubePlayerSupportFragment
代替您通常使用YouTubePlayerView
的地方。
修改强>
将以下内容添加到layout
文件中,代替YouTubePlayerView
<fragment
android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"
android:id="@+id/youtube_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
以onCreate()
的{{1}}访问它,方法与其他静态Activity
Fragment
答案 1 :(得分:0)
对于只添加带有后退按钮的工具栏,我不希望将已经完成的代码移到片段中。所以我想出了一种简单的方法。
在布局xml中,我添加了一个看起来像工具栏的TextView。这是Textview的代码。另外,您需要在可绘制文件夹中添加矢量资产(后退图标)
<TextView
android:layout_width="match_parent"
android:layout_height="56dp"
android:id="@+id/actionbartitle"
android:background="@color/colorPrimary"
android:maxLines="1"
android:textSize="16sp"
android:textStyle="bold"
android:paddingStart="@dimen/activity_horizontal_margin"
android:paddingEnd="@dimen/activity_horizontal_margin"
android:text="Go Back"
android:gravity="center_vertical"
android:drawablePadding="@dimen/padding_8"
android:drawableLeft="@drawable/ic_back"
android:textColor="@android:color/white"
android:ellipsize="end"/>
并且只需在文本视图中添加onclicklistener以进行后退
val actionbarTitle = findViewById<TextView>(R.id.actionbartitle)
actionbarTitle.setOnClickListener {
super.onBackPressed()
}
这就是最终结果的样子!喝杯咖啡:)