sudo apt install ufw
sudo ufw allow OpenSSH //让 ufw 允许 ssh 连接,避免后续连接不上 vps
public static int dpToPx(float dp, Context context) { | |
return dpToPx(dp, context.getResources()); | |
} | |
public static int dpToPx(float dp, Resources resources) { | |
float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, resources.getDisplayMetrics()); | |
return (int) px; | |
} |
println("HomeFragment.javaClass.simpleName = ${HomeFragment.javaClass.simpleName}2")// = Companion | |
println("HomeFragment::class.java.simpleName = ${HomeFragment::class.java.simpleName}1")// = 类名 | |
println("homeFragment.javaClass.simpleName = ${homeFragment.javaClass.simpleName}3")// = 类名 | |
println("homeFragment::javaClass.simpleName = ${homeFragment::javaClass.simpleName}5")// = 类名 | |
println("homeFragment.javaClass.Name = ${homeFragment.javaClass.name}4")// = 包名.类名 | |
println("homeFragment::class.java.Name = ${homeFragment::class.java.name}6")// = 包名.类名 |
方式1: | |
var resourceId = resources.getIdentifier("status_bar_height", "dimen", "android") | |
//修改高度 | |
return resources.getDimensionPixelSize(resourceId) | |
方式2: | |
myView.setOnApplyWindwoInsetListener{view,insets -> | |
val statusBarSize = insets.systemWindowInsetTop | |
return insets | |
} |
/* | |
* Copyright 2017 Google Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file | |
* except in compliance with the License. You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software distributed under the | |
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager | |
imm.hideSoftInputFromWindow(view.windowToken, 0) |
public class MainActivity extends AppCompatActivity { | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
String str1 = "你有${ccccc}财产需要领"; | |
//String str1 = "${ccccc}你有财产需要领$"; | |
//String str1 = "你有财产需要领${ccccc}"; |
<application | |
<!--适配7.0+拍照返回 Start--> | |
<provider | |
android:name="android.support.v4.content.FileProvider" | |
android:authorities="${applicationId}.fileProvider" | |
android:exported="false" | |
android:grantUriPermissions="true"> | |
<meta-data | |
android:name="android.support.FILE_PROVIDER_PATHS" | |
android:resource="@xml/provider_path" /> |
去 caddy2 官方 github 下载和 Linux 系统对应的可执行文件 https://github.com/caddyserver/caddy/releases 尽可能下载最新的版本,因为 bug 少,下载完成后并移动到 /usr/bin/ 下 (如果你有能力也可以下载源码进行编译安装)
{
experimental_http3
}