我一直在使用AppCompatv7 lib的最新工具栏。我在工具栏视图组中放置了一个文本视图,我想从我的活动片段中为这个文本视图设置一个标题。如果是自定义操作栏((ActionBarActivity)getActivity)。setcustomView(…)会完成任务的。但由于使用了这个工具栏,我无法使用它。此外,我在BaseActivity中实现了一个由所有活动继承的方法。此BaseActivity包含初始化左侧滑动抽屉的方法。我必须在活动中初始化initDrawerLayout()方法,否则抽屉将无法初始化。如果我在片段中初始化它,它会给我所有的空结果,抽屉的切换按钮和自定义标题都不会被设置。
这是我的密码。。
public void initDrawerLayout(String toolbar_text) {
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerRelative = (RelativeLayout) findViewById(R.id.drawer_relative);
if (mDrawerLayout != null) {
findViewById(R.id.drawer_btn_a).setOnClickListener(this);
findViewById(R.id.drawer_btn_b).setOnClickListener(this);
findViewById(R.id.drawer_btn_c).setOnClickListener(this);
findViewById(R.id.drawer_btn_d).setOnClickListener(this);
findViewById(R.id.drawer_btn_e).setOnClickListener(this);
findViewById(R.id.drawer_btn_f).setOnClickListener(this);
findViewById(R.id.drawer_btn_g).setOnClickListener(this);
findViewById(R.id.drawer_btn_h).setOnClickListener(this);
findViewById(R.id.drawer_btn_i).setOnClickListener(this);
findViewById(R.id.drawer_btn_j).setOnClickListener(this);
findViewById(R.id.drawer_btn_k).setOnClickListener(this);
findViewById(R.id.drawer_btn_l).setOnClickListener(this);
findViewById(R.id.my_layout).setOnClickListener(this);
Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setBackground(getResources().getDrawable(R.drawable.icn_actionbar_background));
TextView mTitle = (TextView) toolbar.findViewById(R.id.toolbar_title);
mTitle.setText(toolbar_text);
mTitle.setTypeface(Typeface.DEFAULT_BOLD);
if (toolbar != null) {
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
toolbar.setNavigationIcon(R.drawable.ic_drawer);
mDrawerToggle = new ActionBarDrawerToggle(
this, mDrawerLayout, toolbar,
R.string.drawer_open, R.string.drawer_close
);
mDrawerLayout.setDrawerListener(mDrawerToggle);
toolbar.setNavigationOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (mDrawerLayout.isDrawerOpen(Gravity.LEFT)) {
mDrawerLayout.closeDrawer(Gravity.LEFT);
} else {
mDrawerLayout.openDrawer(Gravity.LEFT);
}
}
});
mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
GravityCompat.START);
mDrawerLayout.setScrimColor(getResources().getColor(
android.R.color.transparent));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayShowTitleEnabled(false);
}
}
这是我在片段中的代码...
((FirstActivity)getActivity()。初始抽屉布局(mFirst.name)
其中mFirst是类Person的对象
还有工具栏代码。。
<android.support.v7.widget.Toolbar
android:id="@+id/my_awesome_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="Toolbar Title"
android:textColor="@color/action_text-color"
android:textSize="18sp"
android:textStyle="bold" />
</android.support.v7.widget.Toolbar>
请帮助伙计们...
要允许一个片段通信到其活动(设置工具栏标题),您可以在片段类中定义一个接口,并在活动中实现它,如以下所述:与其他片段通信。
在科特林。
片段:
(activity as YourActivity).supportActionBar?.title = getString(R.string.your_title)
在活动中:
setSupportActionBar(toolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayShowHomeEnabled(true)
我这样做:从片段调用
getActivity().setTitle("your title");
你也可以像这样调用你的父活动的任何函数:
YourActivity mYourActiviy = (YourActivity) getActivity();
mYourActivity.yourActivityFunction(yourParameters);
问题内容: 我的应用程序中有一个工具栏,例如: 我将标题添加为: 我已经读过Android工具栏中心标题和自定义字体 但是,如果我更改工具栏的xml,我不知道如何更改TextView的值。有人可以帮助我吗? 问题答案: 如果您具有自定义的工具栏布局,请不要用于设置标题。 相反,假设您的XML布局如下所示: 你需要调用,在某处你的可能是:
问题内容: 我正在这样做: 我想为标题“ hello”中的文本设置自定义字体。怎么做? 问题答案: Update 2018(kotlin版本) 像那样使用 旧帖子 要在工具栏中使用自定义标题,您需要做的就是记住,工具栏只是一个精美的ViewGroup,因此您可以像这样添加自定义标题: 这意味着您可以根据需要设置TextView的样式,因为它只是常规的TextView。因此,在您的活动中,您可以像这
我想将搜索图标的颜色设置为纯白色。此刻,搜索图标的颜色是灰色的,并且与“演示搜索”的白色文本明显不同。 编辑: 根据一些建议,我使用纯白色创建了一个新图标(确切地说,rgb=255,255,255)并使用它来代替Android:ic_menu_search。Android会用灰色调着色(通过截图上的颜色选择工具验证),即使原来的图标是纯白色的。
当我运行应用程序,工具栏显示,但不是标题。如何显示标题?谢了。
但是如果我更改工具栏的xml,我不知道如何更改TextView的值。有人能帮我吗?