You can find a comprehensive guide to using custom fonts in Xamarin.Forms at this Xamarin Developers Guide Link.
As Steven highlighted, it's important to ensure that your font ttf file is in the right place, in this instance you appear to have got it right, the location for the android project is indeed the 'assets' folder.
Xamarin.Forms for Android can reference a custom font that has been
added to the project by following a specific naming standard. First
add the font file to the Assets folder in the application project and
set Build Action: AndroidAsset.
Setting a custom font in C# backing classes, snippet amended from the above source:
public class SomeMethod()
{
new Label
{
Text = "Hello, Forms!",
FontFamily = Device.OnPlatform(null, "Roboto-Light.ttf#Roboto-Light", null)
}
}
The xaml should actually be:
<Label Text="Hello Forms with XAML">
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="Android">Roboto-Light.ttf#Roboto-Light</On>
</OnPlatform>
</Label.FontFamily>
</Label>
It is worth mentioning that the roboto theme should be part of the native android project already if your targeting API 14 or above. So on android you can actually just use the 'sans-serif-light' font which is infact Roboto. Follow this link to see an excellent answer on an android specific thread about the fonts they now include in API 14+