Xamarin 我如何使我的界面适应所有类型的设备(iOS/Android)?

Xamarin 我如何使我的界面适应所有类型的设备(iOS/Android)?,xamarin,xamarin.forms,responsive-design,grid,responsive,Xamarin,Xamarin.forms,Responsive Design,Grid,Responsive,我的UI在运行我的应用程序的两台设备上看起来都不一样,这很正常,但我想让它适应操作系统iOS和Android 我尝试在网格内使用StackLayout,但没有任何变化,我的UI仍然没有响应 -> 下面是我得到的一个例子: 安卓: iPhone: 我希望我的Android界面能像iPhone一样。你可以使用自定义渲染器来剪切控件,例如Entry: 1.定制MyEntry: 2.in*.Android创建MyEntryRenderer: 3.在页面的xaml中使用: 更多信息可以在这里找到:只需使用

我的UI在运行我的应用程序的两台设备上看起来都不一样,这很正常,但我想让它适应操作系统iOS和Android

我尝试在网格内使用StackLayout,但没有任何变化,我的UI仍然没有响应

-> 下面是我得到的一个例子:

安卓:

iPhone:


我希望我的Android界面能像iPhone一样。你可以使用自定义渲染器来剪切控件,例如Entry:

1.定制MyEntry:

2.in*.Android创建MyEntryRenderer:

3.在页面的xaml中使用:


更多信息可以在这里找到:

只需使用OnPlatform API,因为这可能是什么?像这样的东西,特别是什么元素是你想要得到相同的?如果您试图使Entires在两个平台上具有相同的外观,则需要设置某种自定义渲染器。它可以工作吗?事实上,我遇到的问题只是我的模拟器,谢谢,Guyso,您想要什么效果?我以为你想让Android看起来像ios。
public class MyEntry :Entry
{
}
[assembly: ExportRenderer(typeof(MyEntry), typeof(MyEntryRenderer))]
namespace App11.Droid
{

   class MyEntryRenderer : EntryRenderer
     {
       public MyEntryRenderer(Context context) : base(context)
         {
         }
       protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
         {
           base.OnElementChanged(e);

            if (Control != null)
              {
               // custom your style
               Control.SetBackgroundResource(Resource.Drawable.edittext_shape);
              }
         }
     }
}
<?xml version="1.0" encoding="utf-8" ?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
  <solid android:color="#fff" />
  <corners android:radius="5dp" />
</shape>
<ContentPage ...
 xmlns:local="clr-namespace:*;assembly=*"
  ...>
  ...
  <local:MyEntry Placeholder="Email or Phone Number" PlaceholderColor="#bababa" FontSize="16"/>
  ...
</ContentPage>