是否有人可以帮助我找出我的代码有什么问题?它的预览是预期的。但是当我在真实设备中测试它们时会出现问题。我在底部添加了Admob Banner广告。在添加它之前它完全是好的。但现在它没有正确对齐。我的错误是什么,或者我该怎么做?
我的XML代码是:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:background="#FFFFFF"
android:orientation="vertical">
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/scrollView8"
android:layout_alignParentTop="true"
android:layout_above="@+id/ll1"
android:fillViewport="true">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp" >
<TextView
android:id="@+id/textLink"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/description_product"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="15sp" />
<TextView
android:id="@+id/result_field_product"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_alignWithParentIfMissing="true"
android:layout_centerInParent="false"
android:layout_marginTop="20dp"
android:gravity="center_vertical|center_horizontal"
android:text="Example application"
android:textSize="16sp"
android:textIsSelectable="true" />
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/ll1"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_above="@+id/adView"
android:orientation="horizontal"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true">
<Button
android:id="@+id/btnProceed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/button_fullwidth"
android:padding="5dp"
android:text="@string/choose_action"
android:textColor="@android:color/white" />
<view
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:layout_weight="1"/>
<Button
android:id="@+id/btnCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/button_fullwidth"
android:padding="5dp"
android:text="@string/abort_action"
android:textColor="@android:color/white" />
</LinearLayout>
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:background="@color/colorAccent"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="@string/banner_home_footer">
</com.google.android.gms.ads.AdView>
这里我的一个按钮是对齐的,但是另一个按钮不是它的位置。我该如何解决它?
答案 0 :(得分:1)
1.在android:gravity="center_vertical"
LinearLayout
2.确保View
为gone
或invisible
。并更改为View
。
3.如果您希望两个Button布局为一半,则应在android:layout_weight="1"
中设置android:layout_width="0dp"
和Button
。
修改强>
将根标签更改为LinearLayout
试试这个。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
android:orientation="vertical">
<ScrollView
android:id="@+id/scrollView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/ll1"
android:layout_weight="1"
android:fillViewport="true">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/textLink"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/description_product"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="15sp"/>
<TextView
android:id="@+id/result_field_product"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_alignWithParentIfMissing="true"
android:layout_centerInParent="false"
android:layout_marginTop="20dp"
android:gravity="center_vertical|center_horizontal"
android:text="Example application"
android:textIsSelectable="true"
android:textSize="16sp"/>
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/ll1"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<Button
android:id="@+id/btnProceed"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/button_fullwidth"
android:padding="5dp"
android:text="@string/choose_action"
android:textColor="@android:color/white"/>
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:visibility="invisible"/>
<Button
android:id="@+id/btnCancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/button_fullwidth"
android:padding="5dp"
android:text="@string/abort_action"
android:textColor="@android:color/white"/>
</LinearLayout>
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@color/colorAccent"
ads:adSize="BANNER"
ads:adUnitId="@string/banner_home_footer">
</com.google.android.gms.ads.AdView>
</LinearLayout>
答案 1 :(得分:0)
每当您使用layout_weight
时,都应将layout_width
或layout_height
设置为0dp
,具体取决于orientation
。
例如。当您android:orientation="horizontal"
使用android:layout_width="0dp"
当您android:orientation="vertical"
使用android:layout_height="0dp"