Xamarin 我如何使我的界面适应所有类型的设备(iOS/Android)?
我的UI在运行我的应用程序的两台设备上看起来都不一样,这很正常,但我想让它适应操作系统iOS和Android 我尝试在网格内使用StackLayout,但没有任何变化,我的UI仍然没有响应 -> 下面是我得到的一个例子: 安卓: iPhone: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中使用: 更多信息可以在这里找到:只需使用
我希望我的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>