我的布局是这样的:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="10dp"
android:background="#ff303f"
android:id="@+id/layout">
<ImageView
android:id="@+id/picture"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerInParent="true"/>
<Button
android:id="@+id/cancel"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_alignRight="@id/picture"
android:background="@drawable/cross_out"/>
</RelativeLayout>
我使用通常的布局充气服务对其进行充气,为按钮设置一些功能,为imageview设置图像(所有图像都具有相同的尺寸和宽高比)。
之后,我将这个视图添加到我的片段布局中,它只是一个父级的ScrollView,它有一个子线性布局,我称之为'map',只需将它添加到地图中。
预期:添加的布局应该正确添加,我可以滚动它。 实际:如果添加超过2,则第一个被吃掉。我可以看到它的一半或有时它完全被吃掉了。 :\
有什么想法在这里发生?非常感谢你的时间。
编辑: 这是布局文件,我将膨胀的布局添加到:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f6ff45">
<LinearLayout
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#43ff44"
android:orientation="vertical"
android:layout_margin="10dp"
android:layout_gravity="center"
android:layout_marginTop="15dp">
</LinearLayout>
</ScrollView>
我也忘了提到在添加了3个或更多这些布局后,我意识到最后有不必要的空白空间。 :\
答案 0 :(得分:0)
如果您的ScrollView中有一些android:layout_gravity
或gravity
属性,那可能就是原因。请尝试删除它,或将其设为center_horizontal
。
答案 1 :(得分:0)
尝试使用此代码作为布局文件;
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f6ff45">
<LinearLayout
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#43ff44"
android:orientation="vertical"
android:layout_margin="10dp"
android:layout_gravity="center"
android:layout_marginTop="15dp">
</LinearLayout>
</ScrollView>
正如我之前提到的,此LinearLayout中的android:layout_gravity="center"
会导致此问题。因为它不仅水平居中,而且还以内心为中心。这意味着当它们长于可用高度时,将出现中心部分。我只将其更改为android:layout_gravity="center_horizontal"
并解决了问题。