2016-12-15 98 views
0

我試圖使用Xamarin形成旁邊像這個 -進度與Xamarin百分比文本形成

enter image description here

PCL項目中,我需要表現出充滿%文本的進度條來構建一個應用程序我試過盒子視圖,但我很難根據我的百分比設置它的寬度。

我試圖進度條受過良好

<StackLayout Orientation="Horizontal" Grid.Row="0" Grid.Column="0" Padding="10,0,10,0"> 
      <ProgressBar BackgroundColor="Transparent" Progress="0.08" HorizontalOptions="FillAndExpand" HeightRequest="20"/> 
      <Label Text="25"></Label> 
      </StackLayout> 

任何人有任何想法如何實現這一目標?

回答

1

ProgressBarLabel都放入Grid容器中。網格容器將多個元素放置在彼此的頂部。接下來將標籤左側的Margin設置爲相對於進度條的百分比。您可能不得不擺弄確切的邊距以使其正確對齊。

例子:

<Grid Grid.Row="0" Grid.Column="0" Padding="10,0,10,0"> 
    <ProgressBar BackgroundColor="Transparent" Progress="0.08" HorizontalOptions="FillAndExpand" HeightRequest="20"/> 
    <Label Text="25" Margin="80,0,0,0"></Label> 
</Grid> 
+0

如果我有一個水平方向的堆棧佈局,然後在其中添加標籤,最後一個尾標籤被裁切的寬度是否有任何屬性,例如stacklayout的linebreakmode,以便不足夠的元素進入下一行。 – Sonali

+0

謝謝!爲解決方案。 – Sonali

0

你必須在這種情況下使用Absolute佈局或相對佈局,並帶有2個子進度條&標籤,並根據進度更改文本屬性。

+0

你有任何的代碼示例。 – Sonali

+0

我正在使用Acr.UserDialogs nuget var _dialog = Acr.UserDialogs.UserDialogs.Instance.Loading(); –

+0

MessagingCenter.Subscribe (在此, 「BaseViewModel」,(發件人,_percentageMes​​sageAlert)=> { _downloadDataProgress.IsVisible = TRUE; _dialog.Title = System.Convert.ToInt32(System.Math.Floor(_percentageMes​​sageAlert 。* 100))的ToString()+ 「%」; \t \t \t \t \t _downloadDataProgress.CustomProgress = _percentageMes​​sageAlert; }); –