小编Und*_*ech的帖子

LinearLayout的宽度和高度为零

我有问题,如果我尝试用LinearLayout.getWidth()和得到我的高度和宽度,LinearLayout.getHeight()我得到的int是0.

这是我的onCreat:

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    View mainView = getLayoutInflater().inflate(R.layout.activity_game, null);
    LinearLayout container = (LinearLayout) mainView.findViewById(R.id.container);
    view = new GameLayout(this, container.getWidth(), container.getHeight());
    container.addView(view);
    setContentView(mainView);       
    view.setOnClickListener(this);
}
Run Code Online (Sandbox Code Playgroud)

如果您有任何想法,我做错了什么,请帮忙.

我需要这个来获取布局的大小,因为我想要将我的位图放在每个设备上相同的百分比位置(例如每次都在屏幕的正中心).

编辑:

解:

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    View mainView = getLayoutInflater().inflate(R.layout.activity_game, null);
    final LinearLayout container = (LinearLayout) mainView.findViewById(R.id.container);
    mainView.post(new Runnable() 
    {
        @Override
        public void run() 
        {
            view = new GameLayout(GameActivity.this, container.getWidth(), container.getHeight());
            container.addView(view);
            view.setOnClickListener(GameActivity.this);
        }
    } );

    setContentView(mainView);   
}
Run Code Online (Sandbox Code Playgroud)

layout android

0
推荐指数
1
解决办法
4820
查看次数

标签 统计

android ×1

layout ×1