第十三章:位图(十)

简介:

按钮图像
Button定义了FileImageSource类型的Image属性,您可以使用该属性提供显示在按钮文本左侧的小型补充图像。此功能不适用于仅限图像按钮;如果这就是你想要的,本章中的ImageTap程序是一个很好的起点。
您希望图像大小约为五分之一英寸。这意味着您希望它们在32个与设备无关的单元中呈现并显示在Button的背景上。对于iOS和UWP,这意味着白色或透明背景下的黑色图像。对于Android,Windows 8.1和Windows Phone 8.1,您需要在透明背景下显示白色图像。
ButtonImage项目中的所有位图都来自Android De?sign图标集的Action Bar目录以及03_rating_good和03_rating_bad子目录。这些是“竖起大拇指”和“竖起大拇指”的图像。
iOS图像来自holo_light目录(透明背景上的黑色图像),具有以下文件名转换:

  • 未重命名drawable-mdpi / ic_action_good.png
  • drawable-xhdpi / ic_action_good.png重命名为ic_action_good@2x.png

对于ic_action_bad.png也是如此。
Android图像来自holo_dark目录(透明背景上的白色图像),包括子目录中的所有四种尺寸drawable-mdpi(32像素正方形),drawable-hdpi(48像素),drawable-xhdpi(64像素)和drawable -xxhdpi(96像素广场)。
各种Windows运行时项目的图像均为drawable-mdpi目录中的32像素位图。
这是为两个Button元素设置Icon属性的XAML文件:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="ButtonImage.ButtonImagePage">
    <StackLayout VerticalOptions="Center"
                 Spacing="50">
 
        <StackLayout.Resources>
            <ResourceDictionary>
                <Style TargetType="Button">
                    <Setter Property="HorizontalOptions" Value="Center" />
                        </Setter.Value>
                    </Setter>
                </Style>
            </ResourceDictionary>
        </StackLayout.Resources>
 
        <Button Text="Oh Yeah">
            <Button.Image>
                <OnPlatform x:TypeArguments="FileImageSource"
                            iOS="ic_action_good.png"
                            Android="ic_action_good.png"
                            WinPhone="Images/ic_action_good.png" />
            </Button.Image>
        </Button>
 
        <Button Text="No Way">
            <Button.Image>
                <OnPlatform x:TypeArguments="FileImageSource"
                            iOS="ic_action_bad.png"
                            Android="ic_action_bad.png"
                            WinPhone="Images/ic_action_bad.png" />
            </Button.Image>
        </Button>
    </StackLayout>
</ContentPage>

他们在这里:
201808262132250395
它并不多,但位图为通常纯文本的按钮增加了一点点。
小位图的另一个重要用途是可用于TableView中项目的上下文菜单。 但前提条件是深入探索有助于Xamarin.Forms交互式界面的各种视图。 这将在第15章出现。
但首先让我们看看StackLayout的替代方案,它允许您以完全灵活的方式定位子视图。

目录
相关文章
|
Java
如何用Java实现位图转矢量图?
通过前面几篇图片转字符、灰度图的文章介绍之后,接下来我们再来看一个有意思的东西,基于前文的基础,实现位图转矢量图的功能
1381 0
如何用Java实现位图转矢量图?
|
7月前
|
存储 算法 C++
【C++入门到精通】位图 | 位图的实现[ C++入门 ]
【C++入门到精通】位图 | 位图的实现[ C++入门 ]
77 0
|
7月前
|
XML 算法 Java
Android App开发之位图加工Bitmap中转换位图的像素色彩、裁剪内部区域、利用矩阵变换位图的讲解及实战(附源码和演示)
Android App开发之位图加工Bitmap中转换位图的像素色彩、裁剪内部区域、利用矩阵变换位图的讲解及实战(附源码和演示)
117 0
|
算法 NoSQL C#
C#位图BitArray 小试牛刀
难缠的布隆过滤器,这次终于通透了
C#位图BitArray 小试牛刀
Halcon把8位图转换为24位图的方法
Halcon把8位图转换为24位图的方法
479 0
|
JavaScript Android开发 iOS开发
|
存储 编解码 Android开发
|
JavaScript Android开发 索引
|
存储 JavaScript Android开发
|
JSON Android开发 数据格式