目前我已經建立了使用下面的XAML的列表視圖Xamarin形式的細胞操縱RTL
<ListView x:Name="_lstMenu" VerticalOptions="FillAndExpand" BackgroundColor="Transparent">
<ListView.ItemTemplate>
<DataTemplate>
<ImageCell Text="{Binding Title}" ImageSource="{Binding IconSource}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我想要做的是當語言切換到阿拉伯語使得整個用戶體驗的右以左至右爲導向。爲了做到這一點,我使用了RotateYTo(180)方法。
protected override void rotateElementsY(int rotationY)
{
base.rotateElementsY(rotationY);
foreach (View sub in subviews())
{
sub.RotateYTo(rotationY);
}
}
private View[] subviews()
{
View[] _subs = new View[] {
imgUser, lblGreetings, lblUserName, lstMenu, stkBottom};
return _subs;
}
它運作良好,到目前爲止,除了的ImageCell因爲我只能在左到右的方向,以顯示它而已,而不能轉動任何Cell的孩子的的(標籤,圖像) 。 PS:我也嘗試在鏡像列表視圖後反過來寫單元格的阿拉伯文字,但它看起來不合適。