写一个Android window的例子,用window中显示Hello world,并且window的级别为TYPE_SEARCH_BAR
时间: 2024-05-15 09:16:45 浏览: 85
ABC_window.rar_ABC_window 输入法_汉字输入_输入法
以下是一个简单的Android window例子,用于在屏幕上显示“Hello world”,并将窗口级别设置为TYPE_SEARCH_BAR。
首先,在AndroidManifest.xml文件中添加以下权限:
```xml
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
```
然后,在MainActivity.java中创建一个简单的窗口:
```java
public class MainActivity extends AppCompatActivity {
private WindowManager mWindowManager;
private View mOverlayView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 获取WindowManager
mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
// 创建一个可以浮在其他应用上方的窗口
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SEARCH_BAR, // 设置窗口级别为TYPE_SEARCH_BAR
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
// 创建一个显示文本的View
TextView textView = new TextView(this);
textView.setText("Hello world!");
// 将View加入到窗口中
mWindowManager.addView(textView, params);
}
}
```
在这个例子中,我们创建了一个WindowManager对象来管理窗口。我们使用WindowManager.LayoutParams类来定义窗口的布局参数,包括窗口的大小、位置、级别和透明度等。在这个例子中,我们将窗口级别设置为TYPE_SEARCH_BAR,这意味着它将浮在其他应用程序上方,但仍然可以被其他应用程序覆盖。我们还创建了一个TextView来显示“Hello world!”文本,并将其添加到窗口中。
最后,我们需要在AndroidManifest.xml文件中声明MainActivity作为应用程序的入口点:
```xml
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
```
这样,当我们启动应用程序时,MainActivity将作为入口点,并创建一个显示“Hello world!”文本的窗口。
阅读全文