На Android вы можете сделать это со стилем.
Ресурсы/ценности-v21/styles.xml
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="myTheme" parent="android:Theme.Material">
<item name="android:buttonStyle">@style/noPaddingButtonStyle</item>
</style>
<style name="noPaddingButtonStyle" parent="android:Widget.Material.Button">
<item name="android:paddingLeft">0dp</item>
<item name="android:paddingRight">0dp</item>
</style>
</resources>
AndroidManifest.xml
Набор пользовательских тему в качестве темы приложения.
<application android:label="$safeprojectname$" android:theme="@style/myTheme"></application>
Это установка левого и правого поля для 0dp
. Стиль по умолчанию имеет отступы.
Это работает на Android> = 5. Если вы хотите поддерживать более низкие версии Android, вам нужно добавить несколько папок стилей и использовать другие базовые темы, такие как Theme.Holo
или Theme.AppCompat
.
Или вы идете для видеообработки:
using App6.Droid;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
[assembly: ExportRenderer(typeof(Button), typeof(ZeroPaddingRenderer))]
namespace App6.Droid
{
public class ZeroPaddingRenderer : ButtonRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
{
base.OnElementChanged(e);
Control?.SetPadding(0, Control.PaddingTop, 0, Control.PaddingBottom);
}
}
}
Таким образом, нет никакой возможности. Я мог бы использовать разные 'FontSize' для каждой платформы, но если я хочу, чтобы он был совершенным, мне нужен пользовательский рендерер. – testing