标签: android-windowmanager

以编程方式在android中打开屏幕

我正在开发一个警报应用程序.从主要活动我使用广播设置闹钟.然后在广播接收器中的onReceive中,我调用允许用户关闭或暂停警报的活动...在该活动中,在onCreate的开头我使用这一行来打开屏幕并解锁设备:

final Window win = getWindow();
    win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                  | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
    win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                  | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)

这适用于三星Galaxy S2与Android 2.3.4但不适用于htc与Android 2.3.5.在HTC它没有做任何事情,当我按下锁定按钮屏幕自动解锁而没有我拖动圆圈.就像flag_dissmiss_keygard一样,但是flag_turn_screen_on不是.这样做还有另一种方法或其他方法吗?

android android-alarms android-windowmanager

10
推荐指数
1
解决办法
2万
查看次数

Android webview适合所有内容到屏幕

嗨,我有一个webview,我希望它适合屏幕,这样用户不必水平或垂直滚动

我之前搜索过,很多人建议如下,但它只限制宽度,用户仍然需要垂直滚动:

engine = (WebView) (findViewById(R.id.webView1));
engine.loadUrl(www.example.com); 
engine.getSettings().setLoadWithOverviewMode(true);
engine.getSettings().setUseWideViewPort(true);
Run Code Online (Sandbox Code Playgroud)

我尝试了另一种方法,使用缩放方法,但它不会工作.....我得到窗口宽度(1024像素),网页内容宽度也是1024像素!因此缩放不起作用....有没有任何方法来获得正确的比例?

或....还有其他方式吗?....谢谢!!

// get the window width and height
    Point outSize = new Point();
    getWindowManager().getDefaultDisplay().getSize(outSize);
    width = outSize.x;
    height = outSize.y;
    Log.i("Menuboard", "width: " + Integer.toString(width) + ", height: "
            + Integer.toString(height));

WebViewClient client = new WebViewClient() {

        public void onPageFinished(WebView view, String url) {
            int x = engine.getWidth();
            int y = engine.getHeight();

            Log.i("Menuboard", "web width: " + Integer.toString(x)
                    + ", height: " + Integer.toString(y));

            int scale1 = width * 100/x; …
Run Code Online (Sandbox Code Playgroud)

android android-webview android-windowmanager

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

将Snackbar置于最高z顺序,以避免被AutoCompleteTextView下拉阻止

我有一个Snackbar如下:

在此输入图像描述

但是,如果下拉的AutoCompleteTextView时间过长,则下拉将阻止Snackbar.

在此输入图像描述

正如您在上图中看到的那样,Snackbar实际上正在显示.然而,长期下降阻碍了它的可见性.您可以从上面的图像中看到

我尝试使用以下内容Snackbar code.添加bringToFront()没有多大帮助.

private void showSnackbar(String message) {
    Snackbar snackbar
            = Snackbar.make(getActivity().findViewById(R.id.content), message, Snackbar.LENGTH_LONG);
    snackbar.getView().bringToFront();
    snackbar.show();
}
Run Code Online (Sandbox Code Playgroud)

R.id.content是一个CoordinatorLayout:

    <android.support.design.widget.CoordinatorLayout
        android:id="@+id/content"
        android:background="?attr/MyActivityBackground"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:foreground="?attr/headerShadow" />
Run Code Online (Sandbox Code Playgroud)

有没有什么好办法可以避免SnackbarAutoCompleteTextView摔倒?

android autocompletetextview android-windowmanager android-snackbar android-coordinatorlayout

9
推荐指数
2
解决办法
752
查看次数

在状态栏下方显示DialogFragment内容

我试图显示一个带有match_parent的DialogFragment高度和宽度,但它发生在顶部,DialogFragment显示在StatusBar下面.

DialogFragment在底部,右侧,左侧和顶部应用了一些默认值.但顶部填充应从statusBar开始计数,而不是从总屏幕大小开始计算.

如何将DialogFragment设置为match_parent,但是在顶部,底部,右侧,左侧具有正常/默认填充?

android android-dialog android-windowmanager android-dialogfragment android-window

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

我的应用程序加载时如何避免Android中的黑屏?

我的应用程序加载时如何避免Android中的黑屏?我已经从onCreate删除了所有东西到AsyncTask,但我仍然在开头有黑屏.我的默认(第一个)活动是Main,如果有一个参数,我会暂时加载Personal活动,而不显示Main,否则我会显示Main活动.谁能建议我解决方案?我尝试了http://blog.iangclifton.com/2011/01/01/android-splash-screens-done-right/,但它没有帮助.

android android-widget android-windowmanager

8
推荐指数
2
解决办法
2万
查看次数

如何在Android中创建位于所有应用程序之上的UI或窗口小部件?

我可以在Android中创建一个位于所有应用程序之上的UI或小部件吗?有些应用程序有这样的小部件.一个示例在所有应用程序的顶部都有一个摄像头图标,单击该图标时将捕获屏幕.

android android-windowmanager

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

如何从视图中获取窗口实例?

我通过mWindowManager.addview(). 现在我想知道是否有可能获得window实例。他们是myView.getWindowID()myView.getWindowToken()但我找不到从中检索窗口实例的方法

android android-view android-windowmanager android-window

8
推荐指数
2
解决办法
5556
查看次数

WindowManager 不允许通过触摸

我已经使用 WindowManager 绘制了一个叠加层。它的宽度和高度WindowManager.LayoutParams.MATCH_PARENT具有透明背景。

我的视图必须匹配父级和处理圆触摸侦听器并将其余触摸传递到下面的屏幕

我有两个小circle in left and right corner。我让它们在屏幕上可拖动,效果很好。但是当我点击可见的主屏幕按钮时。WindowManager 不允许可见项目可点击。

        int LAYOUT_FLAG = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? WindowManager.
                LayoutParams.TYPE_APPLICATION_OVERLAY : WindowManager.LayoutParams.TYPE_PHONE;

        final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.MATCH_PARENT,//changed it to full
                WindowManager.LayoutParams.MATCH_PARENT,
                LAYOUT_FLAG,

                WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
                |WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
                ///| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, this flag can make it in touchable.
                ///WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
                PixelFormat.TRANSLUCENT);

        mFloatingView = LayoutInflater.from(this).inflate(R.layout.item_circle_dragging, null);

        mFloatingView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                return false;
            }
        });
        //Add the view to the window
        mWindowManager = …
Run Code Online (Sandbox Code Playgroud)

android ontouchlistener android-windowmanager

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

display.getRealMetrics() 已弃用

我正在使用 getRealMetrics() 方法并发现它已被弃用

val display = this.display
display?.getRealMetrics(outMetrics)
Run Code Online (Sandbox Code Playgroud)

任何人都知道替代方案是什么。

android deprecated android-windowmanager kotlin

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

使 FLAG_SECURE 窗口在 Android 屏幕截图中不可见

我有一个带有标志 FLAG_SECURE 的浮动窗口。它已成功隐藏在我设置的屏幕截图和 MediaProjection 中。当我通过 MediaProjection 录制时,它显示为黑色矩形对象。我的浮动窗口中的所有内容都被涂黑了。

    WindowManager windowManager = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
    WindowManager.LayoutParams params = new WindowManager.LayoutParams();

    params.type = WindowManager.LayoutParams.TYPE_PHONE;
    params.format = PixelFormat.TRANSPARENT;
    params.flags = WindowManager.LayoutParams.FLAG_SECURE;

    windowManager.addView(floatingView, params);
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否可以隐藏这个浮动窗口?我的意思是不将其显示为黑色对象,而是在浮动窗口下捕获内容,以便它完全隐藏在 MediaProjection 之外?

android android-windowmanager android-mediaprojection

7
推荐指数
0
解决办法
947
查看次数