1

レイアウトを動的に作成しようとしていますが、小さな問題があります。何らかの理由で、ImageViewsの重みを設定する方法がわかりません。チュートリアルサイトでこれを調べましたが、使用しようとするとエラーが発生します。

LayoutParams(LayoutParams.FILL_PARENT、LayoutParams.FILL_PARENT、1);

私が達成しようとしているのはこれです(アウトラインの観点から):

--LinearLayout(Horizo​​ntal)(LL1)

------ ImageView(IV1)

------LinearLayout(Vertical)(LL2)

XMLで実行しようとしているコード:

        <LinearLayout
        android:id="@+id/skillOneAbility"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/skillOneImage"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>


        <LinearLayout
            android:id="@+id/skillOneAbilityInfo"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="5"
            android:orientation="vertical" >

これは私がこれまでに持っているコードですが、ImageViewの重みを設定する方法がわかりません。

 private LinearLayout createInnerHorizontalLayout1() {
    LinearLayout mainLayout = new LinearLayout(getActivity());
    mainLayout.setOrientation(LinearLayout.HORIZONTAL);
    mainLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));

    //Create the image view and the linear layout with text views
    ImageView iView = new ImageView(getActivity());
    iView.setLayoutParams(new LayoutParams(0, LayoutParams.WRAP_CONTENT));

    LinearLayout myInnerVerticalLayout = createInnerVerticalLayout();
}

上にリンクしたXMLをどのように実現しますか?

4

1 に答える 1

2
LinearLayout.LayoutParams layout = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, .60f); 

最後のパラメーターは重み(float)であり、LinearLayout.LayoutParamsを使用すると、間違ったlayoutparamsをインポートした場合のエラーが修正されます。

于 2012-09-19T03:39:33.857 に答える