我正在尝试实现自定义 SearchView 布局。我已经成功更改了 android.support.v7.appcompat.SearchView 的许多属性,例如背景颜色和文本颜色,但我还想自定义更多。所以我制作了自己的 search_view_layout.xml 文件,但我不知道如何实现它。这是 search_view_layout.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_gravity="top"
android:background="#FFFFFF"
android:layout_width="match_parent"
android:layout_height="40dp"
android:paddingLeft="5dp"
android:paddingTop="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:padding="5dp">
<SearchView
android:id="@+id/leftMenuSearch"
android:background="#FFFFFF"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:queryHint="What are you looking for?"
android:layout_weight="1"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:maxWidth="1000dp"/>
<Button
android:id="@+id/cancel_button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="4"
android:background="@color/beanBlue"
android:text="Cancel"
android:textColor="#FFFFFF"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是我的 menu_main.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:appcompat="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_search"
android:title="Search"
android:icon="@drawable/search_icon"
app:showAsAction="always|collapseActionView"
app:actionLayout="@layout/search_view_layout"
app:actionViewClass="android.support.v7.widget.SearchView"/>
<item android:id="@+id/action_cart"
android:title="Cart"
android:icon="@drawable/cart_icon"
app:showAsAction="ifRoom"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
这是我的 toolbar.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" …Run Code Online (Sandbox Code Playgroud) 所以我是C++和Java的新手,很容易使用其他类的数组,我想知道是否有办法使用其他类的数组,如下所示:
#include <iostream>
#include <array>
#include <string>
using namespace std;
class Message
{...}
class UserMessageFile
{
private:
Message[] messages;
}
int main(int argc, const char * argv[])
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么我不能在UserMessageFile类中使用Message类的数组?在我可以执行此操作之前,是否需要在UserMessageFile类中包含Message类?我究竟是如何实现这一目标的?