Android Studio 3.5格式化布局代码时错位、错乱bug的解决

更新到3.5版本后,格式化布局文件代码,会自动给排序元素,导致界面布局错乱

解决办法:

设置 > code style > XML 右上角 Set from然后选择Predefined Style...>Android即可

补充知识:Android Studio:Reformat Code格式化Xml布局代码后控件顺序错乱

Android Studio升级3.5之后,遇到个奇葩问题,在布局xml文件中格式化代码后,控件的顺序都变了,这不是我们想要的结果,网上搜了一下,确实是AS3.5的锅,每次升级都会遇到不同的问题,先记录一下吧,以后有时间再研究为什么做的调整。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 android:padding="16dp"
 tools:context="sun.geoffery.mvpdemo.MainActivity">

 <TextView
  android:id="@+id/text"
  android:layout_width="match_parent"
  android:layout_height="0dp"
  android:layout_weight="1"
  android:text="点击按钮获取网络数据" />

 <Button
  android:id="@+id/getData"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:text="获取数据【成功】" />

 <Button
  android:id="@+id/getDataForFailure"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:text="获取数据【失败】" />

 <Button
  android:id="@+id/getDataForError"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:text="获取数据【异常】" />

</LinearLayout>

这个简单的布局界面大致如下图所示:

走你,Ctrl+Shift+F,格式化一把,再看我们的代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 android:padding="16dp"
 tools:context="sun.geoffery.mvpdemo.MainActivity">

 <Button
  android:id="@+id/getData"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:text="获取数据【成功】" />

 <Button
  android:id="@+id/getDataForFailure"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:text="获取数据【失败】" />

 <Button
  android:id="@+id/getDataForError"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:text="获取数据【异常】" />

 <TextView
  android:id="@+id/text"
  android:layout_width="match_parent"
  android:layout_height="0dp"
  android:layout_weight="1"
  android:text="点击按钮获取网络数据" />

</LinearLayout>

原本最顶部的TextView被格式化到了最下面,一脸懵逼,界面如下:

具体解决方法如下:

Settings–>Editor–> Code Style–>XML

点击右上角的Set from->Predefined Style选择Android后点击OK保存,Perfect!

再格式化代码,就是我们想要的效果了

以上这篇Android Studio 3.5格式化布局代码时错位、错乱bug的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Android Studio升级3.6 Build窗口出现中文乱码问题解决方法

    前言 最近受疫情影响,很多互联网企业目前才开始慢慢复工,希望这次的疫情没有影响我们码代码的心情. 问题 好的一点,我们的AndroidStudio迎难而上,最近发布了3.6最新版本,不得不说最新版本还是更新了很多地方,但也有出现了一些问题,比如我最近就碰到了这么一个问题,在我升级到了Android Studio3.6以后发现,编译的时候在底部出现的Build窗口中文出现了乱码的问题,代码中没有出现乱码情况,如下图: 这种问题就很头疼了,我先是在File->Settings->File Enco

  • 详解Android Studio3.5及使用AndroidX的一些坑

    google的更新优化往往会牵动一大批开发者的心.去年的androidx,到今年studio3.5后都默认使用androidx了.其实对于我们开发者而言,我们都只是调用他的api,对我们的影响不大??!可是人性的习惯,还是比较不那么容易改变的.现在我就来说说我遇到的一些坑吧.话说还是很严重.不知道androidx的请自行百度. 一.我们从新建一个项目说. 3.5新建项目,是默认使用androidx的 看最后一样,Use androidx.* artifacts.而且不能取消掉的. 那么到我们项目

  • Android Studio 3.6中新的视图绑定工具ViewBinding 用法详解

    前言 我们在Android开发的过程中总是需要获取XML布局中的ViewId,以便给其赋值进行显示,早期我们只能使用 findViewById 这个API,会导致很多的模版代码出现.2013年左右Android界大神 Jake Wharton开源了Butter Knife框架,通过Bind("viewid")方式方便开发者获取ViewId.近两年由于谷歌对Kotlin的支持,我们开始使用 Android Kotlin extensions. 在文件中导入布局文件直接引用viewId.无

  • Android Studio 3.5格式化布局代码时错位、错乱bug的解决

    更新到3.5版本后,格式化布局文件代码,会自动给排序元素,导致界面布局错乱 解决办法: 设置 > code style > XML 右上角 Set from然后选择Predefined Style...>Android即可 补充知识:Android Studio:Reformat Code格式化Xml布局代码后控件顺序错乱 Android Studio升级3.5之后,遇到个奇葩问题,在布局xml文件中格式化代码后,控件的顺序都变了,这不是我们想要的结果,网上搜了一下,确实是AS3.5的锅

  • Android Studio多渠道批量打包及代码混淆

    一.批量打包 1.集成了友盟统计,并在AndroidManifest.xml中添加了如下代码 <meta-data android:name="UMENG_CHANNEL" android:value="${CHANNEL_VALUE}"/> 2.在app的build.gradle的android标签下添加如下代码: productFlavors { myapp {} _360 {} appchina {} hiapk {} } productFlavo

  • Android studio 使用Debugger问题(代码中含有ndk)

    NDK NDK 是 Native Developmentit的缩写,是Google在Android开发中提供的一套用于快速创建native工程的一个工具. 使用这个工具可以很方便的编写和调试JNI的代码. NDK可从官网或AndroidDevTools(个人网站)下载. 1.出现错误: Error running app: Unable to open debugger port (localhost:8601): java.net.ConnectException "Connection re

  • Android Studio的安装及第一次启动时的配置问题

    一.下载Android Studio 百度搜索"Android Studio" 点击中文社区进入,选择最新版本下载. 下载后双击安装包开始安装. 安装好后点击程序运行,进入第一次运行时的配置. 出现"Unable to access Android SDK add-on list",百度后说是第一次启动还没有下载Android SDK所致,点Cancel继续下一步即可. 开始配置. 等待下载组件. 出现启动界面,至此第一次安装启动到此告一段落. 总结 以上所述是小编

  • Android studio设置文件头定制代码注释的方法

    一.说明 在下载或者看别人的代码我们常会看见,每一个文件的上方有个所属者的备注.如果要是一个一个备注那就累死了. 二.设置方法 File >>> Setting >>>  File and Code Templates  >>>  File Header在右边的输入框中输入你想要备注的内容即可 总结 以上所述是小编给大家介绍的Android studio设置文件头定制代码注释的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家

  • Android 表情面板和软键盘切换时跳闪问题的解决方法

    现在很多应用都会在让用户输入各种文本信息的时候同时多提供一个表情面板,这样就会出现一个问题,即表情面板的跳闪问题要输入文本信息,那固然是需要弹出软键盘,在软键盘显示的情况下,此时如果要切换显示出表情面板,由于表情面板不可能和用户的软键盘高度恰好一样,此外由于控件的上下移位,就会出现表情面板的跳闪现象 在点击切换按钮的时候,表情面板会先向上跳,然后再往下移,这样就会带来很差的用户体验,效果如下图所示: 这里提供一个解决方案,使软键盘和表情面板可以很自然地切换,效果如下图所示: 解决思路主要是这样:

  • Android studio有关侧滑的实现代码

    最近写课设,因为是新手,实现起来比较麻烦.所以写下此笔记,免得我以后忘记了. 附图片: //主页面的布局 activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:

  • Android Studio之Debug运行期代码植入的方法

    我们开发中经常使用IDE的Debug功能,使用最频繁的就是断点查看变量内容,这篇文章主要是介绍在Debug时很常用的一些功能,如Debug变量更新.动态代码植入等. 背景 看下面一段代码 @Data @ToString @AllArgsConstructor public class User { private String name; private String sex; } public class Client { private static final String[] NAMES

  • Android studio 广播的简单使用代码详解

    1.在布局文件里面加入按钮,等会发送广播 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="htt

  • android studio的Handler简单实例代码

    实现:EditText输入消息,通过按钮选择发送给主线程或者子线程: 以下有效果图.MainActivity.java代码和activity_main.xml代码 效果图: MainActivity.java代码 package huan.san.handleroneapp; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle;

随机推荐