1

Windows 10 アプリ ストア (世界時計) に UWP アプリがあります。このアプリを使用すると、ユーザーは、毎分更新されるテキストを表示するライブ セカンダリ タイルをピン留めできます (世界中のさまざまな都市の現在時刻を表示するため)。これらのライブ テキスト タイルは、次に示す XML を使用して「アダプティブ タイル」として作成されます。

タイル定義 xml

現在、これらのライブ テキスト タイルには、アプリ マニフェストから取得した無地の背景色 #000000 (黒) があります。Windows 10 for phone の最新バージョンには、スタート画面のタイルの透明度を使用する設定があります。これは素晴らしい効果をもたらしますが、Microsoft ユーティリティに対してのみです。以下のスクリーンショットを参照してください。残念ながら、テキスト タイルの背景を透明/半透明にする方法がわかりません。Windowsがアルファチャンネル/不透明度/透明度を調整することを期待しています。しかし、そうではありません。また、マニフェストで設定できる背景タイルの色は、ARGB ではなく RGB です。アルファ チャネル値を指定することはできません。Microsoft 以外のアプリで、ライブ テキスト タイルに半透明のタイル背景を使用できるかどうかを知っている人はいますか? もしそうなら、

半透明のライブ タイルのスクリーンショット

4

1 に答える 1

1

Thomas がコメントで既に述べたように、Package.appxmanifest でタイルの背景色を変更できます。コードでBackgroundColor="transparent"は、次のVisualElementsタグにあります。

<Applications>
  <Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="MyApp.App">
    <uap:VisualElements DisplayName="MyApp" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png" Description="MyApp" BackgroundColor="transparent">

Microsoftアプリのようにアプリに入れたい場合は、コード内を次のように変更できBackgroundColorます。SecondaryTile

public static async Task ChangeSecondaryTilesBackground(bool transparent) {
    IReadOnlyList<SecondaryTile> tiles = await SecondaryTile.FindAllAsync();

    foreach (SecondaryTile tile in tiles) {
        if (transparent) 
            tile.VisualElements.BackgroundColor = Windows.UI.Colors.Transparent;
        else 
            tile.VisualElements.BackgroundColor = Windows.UI.Colors.Green; // Set to your color

        await tile.UpdateAsync();
    }
}

ここでのプライマリ タイルの更新は少し複雑です。タイルの新しい Xml コンテンツを作成し、背景画像に自分の色のみを含めて設定する必要があるためです。tileUpdater.Update(new TileNotification(xmlContent));

PC では、ユーザーがタイルを右クリックして無効にすると、Package.appxmanifest で設定されたものが使用されることに注意してください。TileNotification コンテンツが正しくないか、読み込みに失敗した場合、appxmanifest の既定のコンテンツも表示されます。

逆の方法 (たとえば、ブランディングが重要な場合) は、appxmanifest に BackgroundColor を保持し、ユーザーがアプリ アイコンのみの透明なライブ タイルを希望する場合は、メインのアプリ アイコンを複製する SecondaryTile を作成するだけです。それが、たとえば PitlaneOne で行った方法です。私がそのようにした理由は、appxmanifest の BackgroundColor を透明に設定すると、アプリケーション リストとストア リストのアプリ アイコンも透明になるためです。

于 2016-11-24T23:36:45.483 に答える