2016-05-18 47 views
11

Tôi đang cố gắng điền một số Button với số Image. Nút nằm trong lưới. Vấn đề là hình ảnh không hoàn toàn lấp đầy nút. Tôi cũng đã cố gắng sử dụng điều khiển ImageButton.Làm cách nào để điền vào một nút có hình ảnh ở dạng Xamarin?

Dưới đây là cách tôi đang xây dựng U.I tôi:

<Grid Grid.Row="1" Grid.Column="1" x:Name="VotingGrid" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"> 
    <Grid.RowDefinitions> 
    <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="45*" /> 
    <ColumnDefinition Width="10*" /> 
    <ColumnDefinition Width="45*" /> 
    </Grid.ColumnDefinitions> 

    <Button Grid.Row="0" Grid.Column="0" Image="yay.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/> 
    <Button Grid.Row="0" Grid.Column="2" Image="meh.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/> 
</Grid> 

Hôm nay trông giống như hình ảnh đính kèm dưới đây, nhưng tôi muốn hình ảnh để điền vào nút của tôi.

enter image description here

Mọi trợ giúp sẽ được đánh giá cao!

+2

Tôi đã cố gắng tương tự Nó không xảy ra có thể do độ phân giải hình ảnh và kích thước nút. Có một cách để làm điều đó, chồng lên nút trên hình ảnh và đặt độ mờ của nút thành 0. Bạn có thể thực hiện chồng chéo trong khung lưới hoặc bố cục tuyệt đối. –

+0

@AkashAmin Tôi đang tìm cách tiếp cận "sạch hơn". –

+0

Có, tôi đã tìm kiếm nhưng không có gì, hãy xem chúng tôi có thể nhận được một số câu trả lời khác không. Tôi sẽ theo chủ đề này.Thanks –

Trả lời

18

Cố gắng đặt hình ảnh thay vì nút.

Bạn có thể sử dụng Nhấn Cử chỉ cử chỉ nhận dạng để thực hiện các sự kiện nhấp.

Hãy thử một cái gì đó như thế này:

<Image Source="tapped.jpg"> 
    <Image.GestureRecognizers> 
     <TapGestureRecognizer 
       Tapped="OnTapGestureRecognizerTapped" /> 
    </Image.GestureRecognizers> 
</Image> 

Mã cho xử lý sự kiện

void OnTapGestureRecognizerTapped(object sender, EventArgs args) { 
    var imageSender = (Image)sender; 
    // Do something 
    DisplayAlert ("Alert", "Tap gesture recoganised", "OK"); 
} 

Tham khảo: Adding a Tap Gesture Gesture Recognizer

+0

Bạn có thể làm cho nó có thể liên kết với mvvm không? – batmaci

+1

@batmaci Theo liên kết được tham chiếu, bạn có thể sử dụng ICommand. – Jahmic

1

tôi đã không sử dụng nó bản thân mình nhưng có lẽ bạn có thể sử dụng cái này từ XLab

https://github.com/XLabs/Xamarin-Forms-Labs/wiki/ImageButton

+0

Tôi đã làm nhưng tôi vẫn phải đối mặt với cùng một vấn đề. –

+1

Sau đó, có thể bạn có thể đi cho hình ảnh có thể chụp, với một khung xung quanh nó để cung cấp cho các cảm giác của một nút. – BraveHeart

+0

Xin cảm ơn! Cuối cùng tôi đã đi cho một ý tưởng tương tự: một khung có thể chụp với một hình ảnh trong nền. –

Các vấn đề liên quan