标签: foreground

如何保持前景图像的长宽比?

我目前有一个带有背景和前景图像的 FrameLayout。前景图像使用 Alpha 具有透明度,以便透视并观看下面的背景。

前景图像需要保持与原始位图相同的纵横比,因为前景图像由黑屏中的透明圆圈组成,很像望远镜效果。我正在寻找任何分辨率兼容性。

不幸的是,我无法实现这一点,并且前景总是显示其圆圈被拉伸。

这是XML代码的一部分:

<FrameLayout
    android:id="@+id/layout_parent"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/background"
    android:foreground="@drawable/foreground"
    android:foregroundGravity="center|fill_horizontal"
>
Run Code Online (Sandbox Code Playgroud)

我还试图解决我的问题,提供两个不同的图像,一个具有 4:3 的比例,另一个具有 16:9 的比例,每个图像都位于不同的可绘制文件夹中,并带有长限定符和限定符

/drawable-long/foreground.png (16:9 aspect)

/drawable-notlong/foreground.png (4:3 aspect)
Run Code Online (Sandbox Code Playgroud)

仍然没有成功。

您知道如何获得这种效果吗?

谢谢你的时间。

java android foreground

1
推荐指数
1
解决办法
4518
查看次数

在 Go 中前台处理信号

我想在后台监听操作系统信号,但在前台处理它。

这是示例代码。主循环无限期地每秒打印“boop”。但是,当收到中断信号时,处理程序会打印“Terminate Slow...”,并等待五秒钟,然后再终止程序。

package main

import (
    "fmt"
    "os"
    "os/signal"
    "time"
)

func main() {
    c := make(chan os.Signal)
    signal.Notify(c, os.Interrupt)
    go func() {
        <-c
        fmt.Println("Terminating slowly...")
        time.Sleep(time.Duration(5)*time.Second)
        os.Exit(0)
    }()

    for {
        fmt.Println("boop")
        time.Sleep(time.Duration(1)*time.Second)
    }
}
Run Code Online (Sandbox Code Playgroud)

当信号被处理时,我希望其他一切都被阻止。但目前在缓慢终止的五秒内,它不断打印“boop”。

我明白了:

boop
boop
^CTerminating slowly...
boop
boop
boop
boop
boop
Run Code Online (Sandbox Code Playgroud)

我想要这个:

boop
boop
^CTerminating slowly...
Run Code Online (Sandbox Code Playgroud)

真正的程序是一个基于堆栈的语言解释器,用户可以在终止时运行某些内容,但目前主循环可以同时更改堆栈。

signals foreground go

1
推荐指数
1
解决办法
597
查看次数

.NET4 WPF - Foreground的样式设置器仅在控制隐藏/显示后工作

我有一个叫WPF某一个风格问题HeadTextTargetType = "TextBlock".样式定义Foreground,FontSizeEffect.第一次显示TextBlock时,不会触发前景设置器(文本颜色保持黑色),正常应用FontSize和Effect.当我从父项中删除TextBlock并将其返回时,前景也会按原样更改.

情况:

Presenter.dll程序集

  • class Presenter: Window,加载并显示我的usercontrols.
  • Generic.xaml - 包含样式的资源字典.
  • Presenter.dll不直接参考TestPresentable.dll.

TestPresentable.dll程序集

  • TestPresentable: UserControl,有一个风格TextBlock.
  • TestPresentable.dll不直接参考Presenter.dll.

MainApp.exe

  • 引用前两个程序集,
  • MainWindowPresenter.dll汇编中实例化,
  • TestPresentableTestPresentable汇编中实例化,
  • MainWindow.ContentHost.Content = testPresentable

相关代码:

Presenter.dll

// Themes/Generic.xaml
...
<Style TargetType="{x:Type TextBlock}" x:Key="HeadText">
    <Setter Property="Foreground" Value="#FFFFFFFF" />
    <Setter Property="Effect">
        <Setter.Value>
            <DropShadowEffect ShadowDepth="0" Color="#79000000" BlurRadius="3" Opacity="1" />
        </Setter.Value>
    </Setter>
    <Setter Property="FontSize" Value="24"/>
</Style>
...


// …
Run Code Online (Sandbox Code Playgroud)

wpf styles .net-4.0 foreground

0
推荐指数
1
解决办法
2383
查看次数

当我进入iBeacon系列时,我可以在Foreground中启动应用程序吗?

我正在使用iBeacons为iOS创建一个应用程序.我知道,如果我设置一个要监控的区域,框架可以在我进入/退出某个区域时调用我的应用程序,或者打开该区域内的屏幕.我也成功地在这个回调中创建了一个本地通知.我的问题是,是否有可能将应用程序置于前台,就像它是否由用户启动一样?

background foreground ios ibeacon

0
推荐指数
1
解决办法
3672
查看次数

获取前台应用的打开活动

我需要获取前台应用程序的当前活动。我尝试遵循这个答案,后来使用了这个库(因为第一个解决方案仅适用于 Lollipop),并且它们确实在告诉前台应用程序的包名称时运行良好,但我需要知道哪些活动是打开的。

service android foreground

0
推荐指数
1
解决办法
1531
查看次数

前台 Swift 4.2 中的 IOS 推送通知

我正在开发 IOS 应用程序,我正在使用 Parse SDK 处理推送通知。当我的背部在后台时,我能够收到通知。现在,即使我的应用程序在前台,我也想收到通知。我为它搜索了很多代码,但它不适合我当前的 AppDelegate 类。

即使我的应用程序在前台,如何获取推送通知?

 @UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Thread.sleep(forTimeInterval: 3.0)
        // Override point for customization after application launch.

        let configuration = ParseClientConfiguration {
            $0.applicationId = "asdasdasd"
            $0.clientKey = "asdasdasdas"
            $0.server = "https://parseapi.back4app.com"
        }
        Parse.initialize(with: configuration)

        UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate

        UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) {
            (granted, error) in
            print("Permission granted: \(granted)")
            guard granted else { return }
            self.getNotificationSettings() …
Run Code Online (Sandbox Code Playgroud)

foreground apple-push-notifications ios swift

0
推荐指数
1
解决办法
2439
查看次数