2016-12-03 76 views
0

我有一个HorizontalScrollView一个NestedScrollView内,像这样:Horizo​​ntalScrollView项目大小不正确 - Android电子

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Charts" 
     android:id="@+id/growth_title" 
     android:textStyle="bold" 
     android:textSize="16sp"/> 

    <HorizontalScrollView 
     android:layout_width="match_parent" 
     android:id="@+id/growth_view" 
     android:gravity="center_vertical" 
     android:scrollbars="none" 
     android:layout_height="200dp"> 
     <LinearLayout 
      android:layout_width="wrap_content" 
      android:orientation="horizontal" 
      android:id="@+id/growth_layout" 
      android:gravity="center_vertical" 
      android:layout_height="200dp"> 
     </LinearLayout> 
    </HorizontalScrollView> 
</LinearLayout> 

</android.support.v4.widget.NestedScrollView> 

这是我插入growth_layout LinearLayout项目视图XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="300dp" 
android:gravity="center_vertical" 
android:paddingTop="0dp" 
android:layout_height="200dp"> 

<ImageView 
    android:id="@+id/icon" 
    android:layout_width="50dp" 
    android:layout_height="50dp" 
    android:src="@drawable/baby_default" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentRight="true" /> 

<TextView 
    android:id="@+id/title" 
    android:layout_below="@id/due_text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textStyle="bold" 
    android:layout_alignParentTop="true" 
    android:layout_toLeftOf="@id/icon" 
    android:text="HEIGHT" 
    android:layout_marginLeft="5dp" 
    android:layout_alignParentLeft="true" 
    android:layout_marginTop="20dp" 
    android:textAllCaps="true" 
    android:textSize="16sp" /> 


<TextView 
    android:id="@+id/value" 
    android:layout_width="wrap_content" 
    android:layout_height="50dp" 
    android:text="123" 
    android:layout_below="@id/title" 
    android:layout_alignParentLeft="true" 
    android:layout_marginTop="30dp" 
    android:gravity="center" 
    android:textAlignment="center" 
    android:textStyle="bold" 
    android:textSize="40sp"/> 

<TextView 
    android:id="@+id/dimen" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="cm" 
    android:textSize="14sp" 
    android:layout_alignBaseline="@id/value" 
    android:layout_toRightOf="@+id/value" /> 


<LinearLayout 
    android:layout_width="wrap_content" 
    android:id="@+id/ideal_layout" 
    android:gravity="center" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@id/dimen" 
    android:layout_height="wrap_content"> 

    <ImageView 
     android:id="@+id/ideal_icon" 
     android:layout_width="10dp" 
     android:layout_height="10dp" 
     android:src="@drawable/follow_done"/> 

    <TextView 
     android:id="@+id/ideal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Within the ideal range" 
     android:textSize="14sp" /> 

</LinearLayout> 

<TextView 
    android:id="@+id/update" 
    android:layout_width="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_height="wrap_content" 
    android:text="UPDATE" 
    android:textStyle="bold" 
    android:layout_alignParentLeft="true" 
    android:layout_marginTop="15dp" 
    android:textSize="14sp" /> 

</RelativeLayout> 

我插入项目添加到LinearLayout中,而不添加任何这样的LayoutParams:

View cardView = activity.getLayoutInflater().inflate(R.layout.item, null); 
growth_layout.addView(cardView); 

在Android工作室它精细显示,就像这样:link

但我的手机上,在ScrollView中的项目采取一个奇怪的大小,就像这样:link

我不知道我应该做的不同。

+0

发布你的完整xml我们没有权力看到你的根元素是什么 –

+0

@Mallika你在'线性布局'中插入'growth_layout'我只能看到id''growth_layout'。你可以定义吗? –

+0

@jaydroider - hey,添加了代码,将视图添加到布局中 – Mallika

回答

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

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/growth_title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Charts" 
      android:textSize="16sp" 
      android:textStyle="bold" /> 

     <HorizontalScrollView 
      android:id="@+id/growth_view" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center_vertical" 
      android:scrollbars="none"> 

      <LinearLayout 
       android:id="@+id/growth_layout" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:gravity="center_vertical" 
       android:orientation="horizontal"> 

      </LinearLayout> 
     </HorizontalScrollView> 
    </LinearLayout> 

</android.support.v4.widget.NestedScrollView> 

项目视图XML

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

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

    <LinearLayout 
     android:layout_width="300dp" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:background="@drawable/edittextborder" 
     android:orientation="vertical" 
     android:padding="10dp"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <TextView 
       android:id="@+id/title" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentTop="true" 
       android:layout_marginLeft="5dp" 
       android:layout_marginTop="20dp" 
       android:layout_toLeftOf="@id/icon" 
       android:layout_weight="1" 
       android:text="HEIGHT" 
       android:textAllCaps="true" 
       android:textSize="16sp" 
       android:textStyle="bold" /> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:src="@mipmap/ic_launcher" /> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="10dp" 
       android:orientation="horizontal"> 

       <TextView 
        android:id="@+id/value" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:text="123" 
        android:textAlignment="center" 
        android:textColor="#A8739C" 
        android:textSize="40sp" 
        android:textStyle="bold" /> 

       <TextView 
        android:id="@+id/dimen" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom" 
        android:layout_marginBottom="4dp" 
        android:text="cm" 
        android:textColor="#A8739C" 
        android:textSize="14sp" /> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal"> 

       <ImageView 
        android:id="@+id/ideal_icon" 
        android:layout_width="10dp" 
        android:layout_height="10dp" 
        android:layout_gravity="center" 
        android:src="@android:drawable/presence_online" /> 

       <TextView 
        android:id="@+id/ideal" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Within the ideal range" 
        android:textColor="#A8739C" 
        android:textSize="14sp" /> 
      </LinearLayout> 
      <TextView 
       android:id="@+id/update" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentBottom="true" 
       android:layout_alignParentLeft="true" 
       android:layout_marginTop="35dp" 
       android:text="UPDATE" 
       android:textColor="#A8739C" 
       android:textSize="14sp" 
       android:textStyle="bold" /> 
     </LinearLayout> 

    </LinearLayout> 
</LinearLayout> 

@绘制/ edittextborder

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle"> 
      <stroke 
       android:width="1dp" 
       android:color="@android:color/white" /> 
      <solid android:color="@android:color/background_light" /> 
      <corners android:radius="10dp" /> 
     </shape> 
    </item> 
</layer-list> 

我插入项的LinearLayout中:

LinearLayout growth_layout = (LinearLayout) v.findViewById(R.id.growth_layout); 
    for (int i = 0; i < 10; i++) { 
     View rootView =LayoutInflater.from(getActivity()).inflate(R.layout.adapter,null,false); 
     growth_layout.addView(rootView); 
    } 
相关问题