2012-04-06 53 views
0

私はViewAnimatorに配置したいLinearLayoutを拡張するビューを定義しました。問題は、表示されません。 私はレイアウトのためのXMLを使用していないので、私はのLinearLayoutを拡張するクラスを持って、例えば:カスタムビューは表示されませんか?

public class DetailView extends LinearLayout { 

ImageView mImageView; 
TextView mTxtName; 

public DetailView(Context context) { 
    super(context);  
    mTxtName = new TextView(context); 

    LinearLayout.LayoutParams lpn = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
    lpn.setMargins(3,3,3,3); 
    mTxtName.setLayoutParams(lpn); 
    mTxtName.setTextAppearance(context, android.R.attr.textAppearanceMedium); 


    mImageView = new ImageView(context); 
    LinearLayout.LayoutParams lpi = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
    lpi.setMargins(10,10,10,10); 
    mImageView.setLayoutParams(lpi); 
    mImageView.setScaleType(ScaleType.CENTER_INSIDE); 
    mImageView.setImageResource(R.drawable.wait); 
} 

はその後、私の活動に私はこのようにそれを追加します。

va = new ViewAnimator(this); 
detail = new DetailView(this); 
     detail.setOrientation(1); 
     LinearLayout.LayoutParams dLayout = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.FILL_PARENT); 
va.setLayoutParams(dLayout); 
va.addView(detail,0); 

をしかし、それはdoesnのtショー。私は何かばかげて明らかに欠けている、私は確信しています。

+0

「va」はあなたのレイアウトに追加されますか? – wsanville

答えて

2

私は、addViewにに子供Viewsを追加することは決してないと思います。

public DetailView(Context context) { 
     super(context);  
     mTxtName = new TextView(context); 

     LinearLayout.LayoutParams lpn = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
     lpn.setMargins(3,3,3,3); 
     mTxtName.setLayoutParams(lpn); 
     mTxtName.setTextAppearance(context, android.R.attr.textAppearanceMedium); 
     this.addView(mTxtName);//add the view to your viewgroup 

     mImageView = new ImageView(context); 
     LinearLayout.LayoutParams lpi = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
     lpi.setMargins(10,10,10,10); 
    mImageView.setLayoutParams(lpi); 
    mImageView.setScaleType(ScaleType.CENTER_INSIDE); 
    mImageView.setImageResource(R.drawable.wait); 
    this.addView(mImageView); 
} 
+0

それはまさにそれだった - 私はそれが何か簡単だろうと知っていた!ありがとう – James

関連する問題