片段布局与android studio

时间:2017-07-11 17:17:14

标签: android android-fragments

快速提问。我使用了标签活动。 所以我创建了片段布局。然后我在getItem中使用class SectionsPagerAdapter方法并使用switch .... case来允许在这些布局之间滑动。

设计上的问题。 AVD的结果与IDE设计预览中的结果不同......下面是我的片段xml和截图...

顺便说一句,我在inflater中使用onCreateView作为:return inflater.inflate(R.layout.tab_etudiant,container,false);

布局xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

    <ImageView
        android:src="@drawable/etudiants"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="4"
        android:scaleType="centerCrop"/>

    <Button
        android:id="@+id/btnNouveauEtu"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:text="INSCRIRE"
        android:layout_weight="1"/>

    <Button
        android:id="@+id/btnModifEtu"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:text="EDITER"
        android:layout_weight="1"/>

    <Button
        android:id="@+id/btnListerEtu"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:text="LISTER"
        android:layout_weight="1"/>

</LinearLayout>

enter image description here

参见左图(在IDE中)有3个按钮(Incrire, Editer, Lister)。在右侧(即在AVD中)第3个按钮(Lister)被切断

3 个答案:

答案 0 :(得分:0)

我在quora上回答你;) 问题比我想象的要复杂得多。

我建议你使用百分比relativelayout。一旦你习惯它,它解决了很多问题,你的应用程序将适合每个屏幕;)

答案 1 :(得分:0)

您可以将android:weightSum属性明确设置为<LinearLayout> xml元素,看看是否有帮助?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum=7>

实际设置android:weightSum不是强制性的,但我总是将其用作明确的。

此外,您是否尝试使用CENTER_CROP的各种值(FIT_XYandroid:scaleType等)来查看是否有帮助。

答案 2 :(得分:0)

我仍然不知道问题是什么,但这是我采取的措施来规避它:

  • 我使用的是android studio标签活动模板......
  • 该模板使用android.support.design.widget.CoordinatorLayout作为片段布局的基本布局
  • 我将基本布局更改为android.support.constraint.ConstraintLayout
  • 之后,你提供的所有建议的解决方案以及我原来的代码都能很好地运作

希望这有助于某人...

<强>更新

我用过

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"">

    <android.support.v4.view.ViewPager
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</android.support.constraint.ConstraintLayout>

而不是

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<android.support.v4.view.ViewPager
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</android.support.design.widget.CoordinatorLayout>