带有编辑文本行项目的Android ListView在方向更改时调整大小
将我的Android手机从potrait转到landscpe,结果是我列表视图中的所有列表项都被调整了大小。ListView未正确刷新。更改方向时,listview的宽度不可用。我在活动的清单文件中尝试了configChanges:orientation,但结果仍然相同 图片如下: 波特雷特: 景观: 整排人都在改变方向 下面提到了使用的xml布局:带有编辑文本行项目的Android ListView在方向更改时调整大小,listview,android-edittext,android-orientation,Listview,Android Edittext,Android Orientation,将我的Android手机从potrait转到landscpe,结果是我列表视图中的所有列表项都被调整了大小。ListView未正确刷新。更改方向时,listview的宽度不可用。我在活动的清单文件中尝试了configChanges:orientation,但结果仍然相同 图片如下: 波特雷特: 景观: 整排人都在改变方向 下面提到了使用的xml布局: <LinearLayout a:id="@+id/web_watch_list_modifier_row_body"
<LinearLayout
a:id="@+id/web_watch_list_modifier_row_body"
a:visibility="visible"
a:gravity="center"
a:background="@drawable/list_selector"
a:layout_height="wrap_content"
a:layout_width="fill_parent"
a:orientation="horizontal">
<EditText
a:id="@+id/watch_list_name_text_box"
a:layout_height="40dip"
a:layout_width="0dip"
a:layout_marginLeft="2dp"
a:maxLength="32"
a:singleLine="true"
a:layout_weight="40"/>
<ImageView
a:id="@+id/dragImageView"
a:background="@drawable/drag_button_img"
a:layout_height="wrap_content"
a:layout_width="wrap_content"/>
</LinearLayout>
等待您的宝贵建议…首先将a:layout\u宽度或LinearLayout更改为“match\u parent” 当其他元素没有权重时,我不确定布局_weight=“40”实现了什么,请尝试1 我会尝试使用RelativeLayout,如下所示(没有检查xml的正确性):
如果您没有声明android:configChanges,那么当您更改方向时,您的活动将重新启动。如果您需要的只是适合新方向的布局,那么您不希望这样
重要的是,如果你的目标版本高于13,那么你还需要声明“屏幕大小”
android:configChanges=“方向|屏幕大小”
如果这仍然不起作用,请尝试覆盖OnConfiguration Changed(),并在每次旋转设备时使ListView无效,活动将重新启动。。可能这就是EditText调整大小的原因 尝试将其添加到清单文件中
android:configChanges="orientation|keyboardHidden"
你也可以看看这个
android:configChanges="orientation|keyboardHidden"