Ren*_*ira 8 android-appcompat xamarin xamarin.forms
在项目中包含AppCompat时,似乎BorderRadius属性不起作用.
我试图创建一个自定义呈现这样的讨论在这里,但它没有工作:
namespace Xamarin.Forms
{
public class CustomButton : Button
{
public CustomButton():base()
{
}
protected override void OnParentSet()
{
base.OnParentSet();
}
}
}
Run Code Online (Sandbox Code Playgroud)
在Android项目中:
[assembly: ExportRenderer(typeof(CustomButton), typeof(CustomButtonRenderer))]
namespace CalculateurMadelin.Droid.Renderers
{
public class CustomButtonRenderer : Xamarin.Forms.Platform.Android.AppCompat.ButtonRenderer
{ }
}
Run Code Online (Sandbox Code Playgroud)
您可以drawable在自定义渲染器中加载Android 以定义以下内容的背景AppCompat.Button:
[assembly: ExportRenderer(typeof(CustomButton), typeof(CustomButtonRenderer))]
namespace AppCompatRender.Droid
{
public class CustomButtonRenderer : Xamarin.Forms.Platform.Android.AppCompat.ButtonRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
{
base.OnElementChanged(e);
if (e.OldElement == null)
{
Control.SetBackgroundResource(Resource.Drawable.CustomButtonBackground);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
添加一个Resources/Drawable与您在SetBackgroundResource(即.CustomButtonBackground.axml)中使用的名称相匹配的新内容,在此我将矩形的角半径设置为10dp:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="10dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8549 次 |
| 最近记录: |