2011-01-10 4 views
0

私は次のコードを使って、linearLayoutの重みを0.7に設定しようとしています。ドキュメンテーションとオンラインでは3つのパラメータが必要です。ない私を聞かせて:xmlの問題ではなく、コードでLinearLayoutの重みを設定してください

LinearLayout linear = new LinearLayout(this); 
linear.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 

をので、ここでそれは高さと幅が、それは軽量であり、それは文句を言わない私がそこに入れてみましょうドキュメントで述べている最後のパラメータの両方を設定します。

答えて

2

はのLinearLayoutのためlayoutparamsのためにこれを試してみてください:

の概念実証として
linear.setLayoutParams(
     new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 
             LayoutParams.WRAP_CONTENT, 
             1) 
); 

:これは動作します。インポートをチェックアウトして、あなた自身:)

ファイルとそれらを比較する:Test.java

package com.huiges.stackOverFlow.examples 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.ViewGroup.LayoutParams; 
import android.widget.LinearLayout; 

public class Test extends Activity { 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     LinearLayout linear = new LinearLayout(this); 
     linear.setLayoutParams(
       new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 
               LayoutParams.WRAP_CONTENT, 
               1) 
     ); 


    } 

} 
+0

私はすでに、それは私が3つのパラメータを取っていない、それによって何を意味するかだと試してみました。日食はただ私が1を取り除くことを望んでいる。それがなぜ私を混乱させるのか。 – SamRowley

+0

正しいパッケージを使用していますか?必要な場合は輸入品を確認してください。私はあなたが何を意味しているのか見てきましたが、このコードは私の日食でOKです。あなたが望むなら、完全なクラスを追加しますか? – Nanne

+0

import android.view.ViewGroup.LayoutParams; LayoutParamsに関連する唯一のインポートですが、それだけで十分ですが、明らかにLinearLayoutパッケージもあります。 – SamRowley

0

使用LinearLayout.LayoutParams

LinearLayout linear = new LinearLayout(this); 
linear.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT,1)); 
0

最後のパラメータは、floatを取ります。 0.7はダブルですが、代わりに0.7fを使用してフロートを取得してください。

linear.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 
             LayoutParams.WRAP_CONTENT, 
             0.7f)); 
+0

@samRowleyの問題は、2つのパラメータしか受け入れられなかったため、これは私が推測するのに役立たないでしょう。 – Nanne

+0

私が読んだ質問から、彼は3つのパラメータを持つLayoutParamsを作成したいと考えています。そのうちの1つ(重み)の値は0.7ですが、できませんでした。これはちょうどあなたが 'f'を忘れて、倍数として解釈された数を持っていれば起こります。彼が0.7fを使用する場合、コードは機能します。私に役立つようです:) – Olle

関連する問題