実寸画像でHeightRequest
(RelativeLayout
)ポイントを取得する必要があります。私はサーバーからイメージを取得します。サイズは720x250
です。私のコードを見てください。 すぐにお伝えします。 RelativeLayout
を使用する必要があります。Xamarin.Forms経由で実寸画像でHeightRequestポイント(RelativeLayout)を取得
<ListView
x:Name="EventsListView"
GroupDisplayBinding="{Binding EventGroupTitle}"
HasUnevenRows="True"
IsGroupingEnabled="True"
ItemTapped="ListView_OnItemTapped"
ItemsSource="{Binding GroupedItems}"
SeparatorVisibility="None">
<ListView.GroupHeaderTemplate>
</ListView.GroupHeaderTemplate>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell BindingContextChanged="BindableObject_OnBindingContextChanged">
<RelativeLayout x:Name="RelativeLayout" Padding="0">
<!-- Background picture -->
<controls:BExtendedCachedImage
x:Name="Picture"
Aspect="AspectFit"
CacheType="Disk"
DownsampleToViewSize="True"
LoadingPlaceholder="backgroundBlur"
RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToView,
ElementName=RelativeLayout,
Property=Height}"
RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToView,
ElementName=RelativeLayout,
Property=Width}"
Source="{Binding Picture}" />
</RelativeLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Source="{Binding Picture}"
- サーバーからの私の画像。 BindableObject_OnBindingContextChanged
のコードでは、HeightRequest
(RelativeLayout
)を変更する必要があります。しかし、私が手動で高さを設定しないと、セルは完全な高さに伸びます。 私のコードビハインドを見てください。
private void BindableObject_OnBindingContextChanged(object sender, EventArgs e)
{
var cell = (ViewCell) sender;
var layout = cell.View.FindByName<RelativeLayout>("RelativeLayout");
var bc = (GroupEventsMapPageModel) BindingContext;
layout.HeightRequest = THIS_MANUALL_VALUE;
}
どうすればTHIS_MANUALL_VALUEを手に入れられますか?
私はこのコード
var device = Resolver.Resolve<IDevice>();
var display = device.Display;
return display.Scale;
画像Height (250) \ display.Scale
を経由してみました - いけない仕事。 私はタブを作成します。 xxxhdpi装置(640 DPI) - 4(スケール) - layout.HeightRequest = 79;
xxxhdpi装置(560 DPI) - 3.5(スケール) - layout.HeightRequest = 93;
xhdpi装置(315 DPI) - 2(スケール) - layout.HeightRequest = 110;
hdpiデバイス(240 DPI) - 1.5(Scale) - layout.HeightRequest = 165;
しかし、私は対角線を変更するときに気づいた。 4.7 "xxhdpiデバイス(420 dpi) - 2.625(スケール) - layout.HeightRequest = 87;
5,2" xxhdpiデバイス(420 dpi) - 2.625(スケール) - layout.HeightRequest = 130;
この質問はすべてここにあります。あなたは何の「高さ」を探していますか? –
@ Joshua Poling、私はHeightRequest(Xamarinポイント)を探しています。例 –