安卓简单适配-JAVA代码进行适配

//得到手机屏幕的宽高度
public class Constant {
    public static int displayWidth;  //屏幕宽度
    public static int displayHeight; //屏幕高度

}

首先我们创建一个公共类

DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
Constant.displayHeight = displayMetrics.widthPixels;
Constant.displayWidth = displayMetrics.widthPixels;  //得到手机屏幕的高宽了

LinearLayout.LayoutParams parms=new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, (int) (Constant.displayHeight*0.7f+0.5f));
look_repair_list.setLayoutParams(parms);  //这样我们就进行了适配。
LinearLayout.LayoutParams 两个参数  前面的是宽,后面的是高度
红色的字呢就是我们改变大小的


发现好的东西就要记录。开发是如此多彩。!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个适配Android 11的WiFi开发代码示例: 1. 在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> ``` 2. 在你的Java代码中,使用以下代码来检查是否已获得位置权限: ```java if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_BACKGROUND_LOCATION) != PackageManager.PERMISSION_GRANTED) { requestPermissions(new String[]{Manifest.permission.ACCESS_BACKGROUND_LOCATION}, PERMISSION_REQUEST_CODE); } ``` 3. 在Android 11中,需要先请求位置权限才能扫描WiFi网络。以下是一个例子: ```java if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, PERMISSION_REQUEST_CODE); } else { startWifiScan(); } ``` 4. 在Android 11及以上版本中,需要使用以下代码来打开WiFi: ```java WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { WifiNetworkSpecifier specifier = new WifiNetworkSpecifier.Builder().setSsid(ssid).build(); NetworkRequest request = new NetworkRequest.Builder().addTransportType(NetworkCapabilities.TRANSPORT_WIFI).setNetworkSpecifier(specifier).build(); ConnectivityManager connectivityManager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE); ConnectivityManager.NetworkCallback callback = new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { super.onAvailable(network); // WiFi已连接 } @Override public void onUnavailable() { super.onUnavailable(); // WiFi连接不可用 } }; connectivityManager.requestNetwork(request, callback); } else { wifiManager.setWifiEnabled(true); WifiConfiguration configuration = new WifiConfiguration(); configuration.SSID = "\"" + ssid + "\""; int networkId = wifiManager.addNetwork(configuration); wifiManager.disconnect(); wifiManager.enableNetwork(networkId, true); wifiManager.reconnect(); } ``` 5. 扫描您周围的WiFi网络,您可以使用以下代码: ```java WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE); if (!wifiManager.isWifiEnabled()) { wifiManager.setWifiEnabled(true); } registerReceiver(wifiScanReceiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); wifiManager.startScan(); ``` 6. 可以使用以下代码来获取WiFi扫描结果: ```java public BroadcastReceiver wifiScanReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { List<ScanResult> results = wifiManager.getScanResults(); for (ScanResult result : results) { String ssid = result.SSID; // 处理WiFi扫描结果 } unregisterReceiver(this); } }; ``` 这是一个适配Android 11的WiFi开发代码示例,仅供参考。在实际使用时,您应该根据您的应用程序需要进行修改和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值