我目前正在创建一个应用程序,它有一个MaterialToolbar小部件。我想将图标颜色设置为白色。我尝试按照这个问题中接受的答案进行操作,但是,它不起作用。添加colorControlNormalstyles.xml 不起作用。
这是我的 MaterialToolbar xml 代码:
<com.google.android.material.appbar.MaterialToolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/topToolbar"
android:background="@color/colorPrimaryDark"
app:title="Revo"
app:titleTextColor="@android:color/white"
app:menu="@menu/menu_floatingsearchview"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
Run Code Online (Sandbox Code Playgroud)
我能做什么?
编辑、解决方案和说明
谢谢大家的好答案。我设法找到了一个解决方案,其中包括两个解决方案和另一个问题。
在这个问题中,被问到为什么colorControlNormal不起作用。接受的答案说,在向量行中,您必须更改给 的值android:fillColor,并将其替换为?attr/colorControlNormal。执行此技巧,项目 colorControlNormal,将控制所需的图标颜色。
在应用主样式中,您需要放置:
<item name="colorControlNormal">@android:color/white</item>
然后,在所需的图标中,您需要放置在path:
android:fillColor="?attr/colorControlNormal"
就是这样!现在图标将获得赋予 colorControlNormal 属性的颜色!
android android-xml android-theme android-toolbar material-components-android
在我的应用程序中,我有一个 Activity,其中有一个 FrameLayout。在这个FrameLayout中,有一个fragment,包含一个ToolBar和一个RecyclerView。
在此工具栏中,我有一个搜索按钮,该按钮应在单击项目时启动活动。但是,当我尝试使用 onOptionsItemSelected 时,应用程序会成功构建并安装,但是当我尝试点击有问题的按钮时,什么也没有发生。Logcat 也没有说什么。
可以指出我做错了什么吗?是否有更简单或其他简单的方法来管理工具栏项目的点击?
Fragment.kt
class FragmentTrack : Fragment() {
...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setHasOptionsMenu(true)
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? = inflater.inflate(R.layout.fragment_track, container, false)
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
...
topToolbar.setNavigationOnClickListener {
val dialog = FragmentBottomSheetDrawer()
dialog.show(childFragmentManager, dialog.tag)
}
}
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
inflater.inflate(R.menu.menu_toolbar, menu)
super.onCreateOptionsMenu(menu, inflater)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when(item.itemId) {
R.id.fsvSearch -> …Run Code Online (Sandbox Code Playgroud) 我正在搜索此信息一段时间。在互联网上搜索时,许多站点都说一个Function引用是这样写的:
//Example 1
#include <stdio.h>
void somma (int a, int b, int *c) {
*c = a + b;
}
int main (void) {
int a = 4;
int b = 2;
int c = 8;
somma(a, b, &c);
printf("Risultato somma: %d", c);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但这就是我在学校学到的:
#include <stdio.h>
void somma(int a, int b, int &c) {
c = a + b;
}
int main(void)
{
int a = 4;
int b = 2;
int c = 8;
somma(a, b, …Run Code Online (Sandbox Code Playgroud) android ×2
android-xml ×1
c ×1
kotlin ×1
material-components-android ×1
pointers ×1
reference ×1