首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从片段设置自定义ActionBar标题

从片段设置自定义ActionBar标题
EN

Stack Overflow用户
提问于 2013-03-22 08:54:42
回答 22查看 170.4K关注 0票数 96

在我的主FragmentActivity中,我这样设置我的自定义ActionBar标题:

代码语言:javascript
运行
复制
    LayoutInflater inflator = (LayoutInflater) this
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View v = inflator.inflate(R.layout.custom_titlebar, null);

    TextView tv = (TextView) v.findViewById(R.id.title);
    Typeface tf = Typeface.createFromAsset(this.getAssets(),
            "fonts/capsuula.ttf");
    tv.setTypeface(tf);
    tv.setText(this.getTitle());

    actionBar.setCustomView(v);

这个很好用。但是,一旦我打开其他Fragments,我想要更改标题。我不确定如何访问主Activity来做到这一点?在过去,我这样做:

代码语言:javascript
运行
复制
((MainFragmentActivity) getActivity()).getSupportActionBar().setTitle(
            catTitle);

有人能建议一下正确的方法吗?

XML:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/transparent" >

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="5dp"
        android:ellipsize="end"
        android:maxLines="1"
        android:text=""
        android:textColor="#fff"
        android:textSize="25sp" />

</RelativeLayout>
EN

Stack Overflow用户

发布于 2019-08-25 14:52:48

一个简单的Kotlin示例

使其适应您的片段类:

代码语言:javascript
运行
复制
    /**
     * A simple [Fragment] subclass.
     *
     * Updates the action bar title when onResume() is called on the fragment,
     * which is called every time you navigate to the fragment
     *
     */

    class MyFragment : Fragment() {

        override fun onResume() {
            super.onResume()
            (requireActivity() as MyMainActivity).supportActionBar?.title = "My Fragment!"
        }


    }
票数 7
EN
查看全部 22 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15560904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档