Android 自定义View 不显示
有点难懂 2016-01-05 07:13:35 各位大神:
我自己写了一个view 继承RelativeLayout :
代码:
import com.yl.cr.GifView;
import com.yl.def.jar.R;
import android.content.Context;
import android.graphics.Color;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class MyLayout extends RelativeLayout{
public MyLayout(Context context){
super(context);
RelativeLayout main = new RelativeLayout(context);
RelativeLayout.LayoutParams lp_main_view = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT);
main.setBackgroundColor(Color.parseColor("#FF00FF"));
main.setLayoutParams(lp_main_view);
TextView t = new TextView(context);
t.setText("怎么就不显示呢");
RelativeLayout.LayoutParams lp_t_view = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
lp_t_view.addRule(RelativeLayout.ALIGN_PARENT_TOP);
lp_t_view.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
main.addView(t, lp_t_view);
}
}
=========分割==================
然后 我在activity里使用new 来加载 就是不显示 请问什么原因啊
activity代码:
import com.yl.cr.GifView;
import com.yl.def.jar.R;
import com.yl.def.jar.view.MyLayout;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
private MyLayout myLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myLayout = new MyLayout(this);
setContentView(myLayout);
}
}
跪求原因
=========分割=========
如果我直接在activity中实现代码布局 就可以显示:
代码:
import com.yl.cr.GifView;
import com.yl.def.jar.R;
import com.yl.def.jar.view.MyLayout;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class MainActivity extends Activity {
private RelativeLayout MainLayout;
private MyLayout myLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView t = new TextView(this);
t.setText("怎么就不显示呢");
RelativeLayout.LayoutParams lp_t_view = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
lp_t_view.addRule(RelativeLayout.ALIGN_PARENT_TOP);
lp_t_view.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
main.addView(t, lp_t_view);
setContentView(main);
}
}
这样就可以显示 什么原因!!!!!