我正在开发一个警报应用程序.从主要活动我使用广播设置闹钟.然后在广播接收器中的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不是.这样做还有另一种方法或其他方法吗?
嗨,我有一个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) 我有一个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)
有没有什么好办法可以避免Snackbar被AutoCompleteTextView摔倒?
android autocompletetextview android-windowmanager android-snackbar android-coordinatorlayout
我试图显示一个带有match_parent的DialogFragment高度和宽度,但它发生在顶部,DialogFragment显示在StatusBar下面.
DialogFragment在底部,右侧,左侧和顶部应用了一些默认值.但顶部填充应从statusBar开始计数,而不是从总屏幕大小开始计算.
如何将DialogFragment设置为match_parent,但是在顶部,底部,右侧,左侧具有正常/默认填充?
android android-dialog android-windowmanager android-dialogfragment android-window
我的应用程序加载时如何避免Android中的黑屏?我已经从onCreate删除了所有东西到AsyncTask,但我仍然在开头有黑屏.我的默认(第一个)活动是Main,如果有一个参数,我会暂时加载Personal活动,而不显示Main,否则我会显示Main活动.谁能建议我解决方案?我尝试了http://blog.iangclifton.com/2011/01/01/android-splash-screens-done-right/,但它没有帮助.
我可以在Android中创建一个位于所有应用程序之上的UI或小部件吗?有些应用程序有这样的小部件.一个示例在所有应用程序的顶部都有一个摄像头图标,单击该图标时将捕获屏幕.
我通过mWindowManager.addview(). 现在我想知道是否有可能获得window实例。他们是myView.getWindowID(),myView.getWindowToken()但我找不到从中检索窗口实例的方法
我已经使用 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) 我正在使用 getRealMetrics() 方法并发现它已被弃用
val display = this.display
display?.getRealMetrics(outMetrics)
Run Code Online (Sandbox Code Playgroud)
任何人都知道替代方案是什么。
我有一个带有标志 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 之外?