Java 以编程方式创建的视图显示不正确(android)
我以编程方式创建了一些视图,但在某些设备上它们显示错误。我有一个以编程方式添加微调器的布局。这是我的xml:Java 以编程方式创建的视图显示不正确(android),java,android,xml,styles,Java,Android,Xml,Styles,我以编程方式创建了一些视图,但在某些设备上它们显示错误。我有一个以编程方式添加微调器的布局。这是我的xml: 容器-它是我创建微调器的布局(以编程方式) 喷丝器-这里我添加了喷丝器 <LinearLayout android:id="@+id/container" android:layout_width="match_parent" android:orientation="horizontal" android:backg
容器
-它是我创建微调器的布局(以编程方式)
喷丝器
-这里我添加了喷丝器
<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:orientation="horizontal"
android:background="#26ffffff"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/spinnerL"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_weight="0.2"
android:layout_centerHorizontal="true" />
<RelativeLayout
android:id="@+id/spinnerOpen"
android:layout_width="match_parent"
android:layout_marginRight="5dp"
android:layout_weight="0.8"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/spinnerImage"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
</LinearLayout>
(很抱歉链接,我没有声誉)
结果
结果
如果我使用静态大小,如下所示:
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, 120);
下面是发生的情况
结果
正如我在您的代码中所看到的那样,上的结果:
spinner.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
您正在将高度设置为MATCH\u PARENT
。我不知道它为什么在4.0.1上工作,但请将代码更改为:
spinner.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
设备4.0.1中的结果代码android 5+中的结果代码只是为了理解您的问题。你的问题是WRAP_内容在android 5+上无法正常工作?(在你的样本中)@oberflansch是的,它是
spinner.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));