嘿我真的需要你的帮助。
我的问题是Android Studio不会在仿真器或物理设备中正确显示布局。每当我放置一个textView、button等,并且我想要将它居中(水平、垂直或两者),并且我启动仿真器时,它就会被贴在左上角。
这是我的代码::
private void firstStage(){
ViewGroup container = (ViewGroup) findViewById(R.id.container);
container.removeAllViews();
container.addView(getLayoutInflater().inflate(R.layout.first_stage, null));
}
private void showHint(){
ViewGroup container = (ViewGroup) findViewById(R.id.container);
container.removeAllViews();
container.addView(getLayoutInflater().inflate(R.layout.first_hint, null));
firstImage = (ImageView) findViewById(R.id.hintImage);
firstImage.setImageResource(R.drawable.firsthint);
Button back = (Button) findViewById(R.id.first_hint_backButton);
back.setOnClickListener(this);
}
在showHint方法中,一切工作都很好。按钮和imageview就在我设置的地方。
但是在firstStage方法中,我有一个textView,如果我选择带有“Center”的东西,它总是在左上角,就像Android Studio突然无法处理重力:Center了。
我尝试创建一个新项目,但错误仍然发生。如果我将textView设置在右侧,然后将其放在中间,并带有margin-right(右边距),它就会起作用。但这并不是真正的长久之计。你们中有人经历过同样的问题吗?
在你问之前,是的,我已经尝试了所有的“中心”。在XML文件中、在代码中等等。
也许这也会对你有帮助::
如果我通过setContentView(r.layout.first_stage)调用布局;它起作用了。textView就在我想要的地方。我只是不知道为什么它不会再与ViewGroup一起工作了,当它在我的其他2个布局中完美地工作时?!
这是我的布局代码::
<?xml version="1.0" encoding="utf-8"?>
RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”android:layout_width=“match_parent”android:layout_height=“match_parent”
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/first_stage"
android:id="@+id/textView2"
android:enabled="true"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
/RelativeLayout
编辑::
现在起作用了!!我将容器从RelativeLayout改为FrameLayout。我不知道为什么它现在起作用了,但它起作用了!!!
感谢pdegand59的快速帮助,真的很感激。
当膨胀视图时,必须为膨胀器提供父级以解析视图的布局参数。
container.addview(getLayoutInflater().Inflate(r.layout.first_stage,container,false));
这就是为什么Android Studio在使用null
父级进行膨胀时会有一个警告。
顺便说一句,您可以将膨胀视图自动添加到视图层次结构中,只需:
getLayoutInflater().Inflate(r.layout.first_stage,container,true);
有什么建议为什么我会在layout_behavior上出现这个错误,以及如何修复它?
主要活动: } 片段类 错误:java.lang.runtimeException:无法启动活动ComponentInfo{com.darkweb.android.chroma2018/com.darkweb.android.chroma2018.mainactivity}:Android.view.filflateException:二进制XML文件行#0:错误inflating类在Androi
我运行的是Mac OSX,我安装了android Studio-它启动正常。 问题1 我用一个空活动开始一个新项目。在最上面的窗户上我收到一条信息 问题2 我在底部窗口中看到以下错误: 错误:CompilesDKVersion android-L需要使用JDK 7 Open SDK Settings进行编译 打开文件 当我尝试在设备上运行项目时,我得到以下错误: 失败[INSTALL_FAILED
我使用Android Studio2020.3.1补丁3和ConstraintLayout来显示两行UI。 以下是预期的UI Latyout: 您可以将test.xml复制到res/layout,在“code”视图中打开test.xml,然后单击“second_row_image_view”,最后切换到“design”视图,您还可以发现second_row_image_view浮动在first_r
Tabris.js使用原生平台的能力来对UI界面进行布局。由于显示密度在移动设备之间差异很大,因此Tabris.js中的像素始终用设备独立像素表示。 布局数据 全部控件都支持layoutData属性,该属性定义了控件的排列方式。layoutData的值必须是下列属性组成的一个对象: left right top bottom centerX centerY baseline width heigh
准则 单位和度量 度量与边框 结构 自适应 UI