我有一个问题,如果我尝试使用 and 获取我的高度和宽度,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);
}
如果您有任何想法,我做错了什么,请帮忙。
我需要它来获取布局的大小,因为我想将我的位图定位在每个设备上的相同百分比位置(例如每次都在屏幕的确切中心)。
编辑:
解决方案:
@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);
}