Android14 上拉Allapp界面,顶部的谷歌搜索框,在显示大小设置为最大的情况下,搜索框宽度太短问题修改

Allapp界面,顶部的谷歌搜索框,在显示大小设置为最大的情况下,搜索框宽度太短问题修改,如下图

在目录 android14\vendor\partner_gms\apps\SearchLauncher\res\values-sw600dp\dimens.xml

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <dimen name="all_apps_header_top_margin">53dp</dimen>

+    <dimen name="searchbar_width">200dp</dimen> 

</resources>

设置布局dp大小

然后在代码内引用

android14\vendor\partner_gms\apps\SearchLauncher\quickstep\src\com\android\searchlauncher\HotseatQsbWidget.java

package com.android.searchlauncher;

public class HotseatQsbWidget extends QsbContainerView implements Insettable, SearchUiManager,
        SearchCallback<AdapterItem>, AllAppsStore.OnUpdateListener {

    private final ActivityContext mActivity;

    // This value was used to position the QSB. We store it here for translationY animations.
    private final int mFixedTranslationY;
    private final int mMarginTopAdjusting;
    +private final int mSearchBarWidth;

    private final AllAppsSearchBarController mSearchBarController;
    private final SpannableStringBuilder mSearchQueryBuilder;

    private ActivityAllAppsContainerView<?> mAppsView;

    private ExtendedEditText mFallbackSearchView;

    public HotseatQsbWidget(Context context) {
        this(context, null);

  • 27
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1. 在布局文件中添加一个搜索框组件,例如使用EditText组件。 ```xml <EditText android:id="@+id/search_box" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Search" android:inputType="text" android:maxLines="1" android:padding="8dp" android:textColor="@android:color/black" android:textColorHint="@android:color/darker_gray" android:textSize="18sp" /> ``` 2. 在Activity或Fragment中获取搜索框组件,并实现搜索功能。例如绑定搜索按钮的点击事件,当用户点击搜索按钮时,获取输入的关键字并进行搜索。 ```java EditText searchBox = findViewById(R.id.search_box); Button searchButton = findViewById(R.id.search_button); searchButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String keyword = searchBox.getText().toString().trim(); // TODO: 进行搜索操作 Toast.makeText(MainActivity.this, "Searching for " + keyword, Toast.LENGTH_SHORT).show(); } }); ``` 3. 可以使用Toolbar组件来实现一个固定在顶部搜索框,例如在布局文件中添加以下代码: ```xml <androidx.appcompat.widget.Toolbar android:id="@+id/search_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:title="" app:subtitle="" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_collapseMode="pin"> <EditText android:id="@+id/search_box" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Search" android:inputType="text" android:maxLines="1" android:padding="8dp" android:textColor="@android:color/black" android:textColorHint="@android:color/darker_gray" android:textSize="18sp" /> </androidx.appcompat.widget.Toolbar> ``` 4. 在Activity或Fragment中获取Toolbar组件,并设置为ActionBar。 ```java Toolbar toolbar = findViewById(R.id.search_toolbar); setSupportActionBar(toolbar); ``` 5. 在Menu中添加搜索按钮,例如在menu_search.xml文件中添加以下代码: ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_search" android:title="Search" android:icon="@drawable/ic_search" app:showAsAction="always|collapseActionView" app:actionViewClass="androidx.appcompat.widget.SearchView" /> </menu> ``` 6. 在Activity或Fragment中重写onCreateOptionsMenu方法,将menu_search.xml文件中的菜单加载到Toolbar中。 ```java @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_search, menu); return true; } ``` 7. 在Activity或Fragment中重写onOptionsItemSelected方法,处理搜索按钮的点击事件。 ```java @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_search) { // TODO: 处理搜索按钮的点击事件 return true; } return super.onOptionsItemSelected(item); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AospCoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值