Для Android есть пробел в кнопке отмены с правой стороны. как я могу удалить это?
<StackLayout Padding = "0,5,0,5" Spacing = "0">
<StackLayout.BackgroundColor>
<OnPlatform x:TypeArguments = "Color">
<On Platform = "Android" Value = "{StaticResource 02dp}" />
<On Platform = "iOS" Value = "{StaticResource 02dp}" />
</OnPlatform>
</StackLayout.BackgroundColor>
<Border Padding = "0" Style = "{StaticResource SearchBorderStyle}">
<SearchBar ios:SearchBar.SearchBarStyle = "Default" x:Name = "SearchBar"
TextChanged = "SearchBar_TextChanged" SearchCommand = "{Binding SearchCommand}"
SearchCommandParameter = "{Binding Text, Source = {x:Reference SearchBar}}"
Placeholder = "Search">
<SearchBar.CancelButtonColor>
<OnPlatform x:TypeArguments = "Color">
<On Platform = "iOS" Value = "White" />
<On Platform = "Android" Value = "White" />
</OnPlatform>
</SearchBar.CancelButtonColor>
<SearchBar.PlaceholderColor>
<OnPlatform x:TypeArguments = "Color">
<On Platform = "Android" Value = "White" />
<On Platform = "iOS" Value = "Gray" />
</OnPlatform>
</SearchBar.PlaceholderColor>
<SearchBar.Margin>
<OnPlatform x:TypeArguments = "Thickness">
<On Platform = "Android" Value = "0, 6 , 0, 6" />
<On Platform = "iOS" Value = "0,0,0,0" />
</OnPlatform>
</SearchBar.Margin>
<SearchBar.TextColor>
<OnPlatform x:TypeArguments = "Color">
<On Platform = "Android" Value = "White" />
<On Platform = "iOS" Value = "White" />
</OnPlatform>
</SearchBar.TextColor>
<SearchBar.BackgroundColor>
<OnPlatform x:TypeArguments = "Color">
<On Platform = "Android" Value = "red" />
<On Platform = "iOS" Value = "{StaticResource 00dp}" />
</OnPlatform>
</SearchBar.BackgroundColor>
</SearchBar>
</Border>
</StackLayout>
доводим до вашего сведения. Я также попытался удалить stacklayout и border. такой же результат. как я могу это решить. Спасибо
Вы можете использовать следующий код для достижения ваших целей.
Страница.xaml:
<SearchBar BackgroundColor = "Grey"/>
Страница.xaml.cs:
using SearchView = AndroidX.AppCompat.Widget.SearchView;
using Android.Views;
namespace MauiApp1;
public partial class NewPage2 : ContentPage
{
public NewPage2()
{
InitializeComponent();
ModifySearchBar();
}
void ModifySearchBar()
{
Microsoft.Maui.Handlers.SearchBarHandler.Mapper.AppendToMapping("MyCustomization", (handler, view) =>
{
#if ANDROID
var close_btn_view = (handler.PlatformView as SearchView).FindViewById(Resource.Id.search_close_btn);
((ViewGroup)close_btn_view.Parent).RemoveView(close_btn_view);
#endif
});
}
}
Это эффект:
Обновлять:
Для удаления пробела в кнопке отмены с правой стороны. Вы можете добавить WidthRequest
, чтобы сократить его пространство:
<SearchBar x:Name = "searchbar" BackgroundColor = "Grey" WidthRequest = "420"/>
Если вы не установите конкретное значение для WidthRequest SearchBar:
<SearchBar BackgroundColor = "Grey"/>
Как вы описываете, будет существовать большой пробел:
@VanjaraSweta Извините, я неправильно понял, что вы имели в виду. Я обновляю ответ. Желание это может помочь вам.
Спасибо. Теперь он работает, как и ожидалось.
Я не хочу удалять X. Я просто хочу удалить правое поле.