有条件地使用XML布局Android中?

我开始使用一些Android的发展,我工作的应用程序的第一个屏幕上,我想在屏幕上显示一个登录/注册提示,或用户的照片,这取决于他们是否被登录到应用程序。

如果我只是划伤为此使用XML? 或者有没有办法,我可以让XML绘制不同,具体取决于用户是否已经登录?

--------------解决方案-------------

它实际上是一个好主意,让您的布局XML格式。 只需创建两个布局文件(每个屏幕),并以编程方式选择一个或一个基于登录状态等。

public class MyActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate();
/* Check login status */
if (loggedIn == true){
this.setContentView(R.layout.logged_in);
}

else if (loggedIn == false){
this.setContentView(R.layout.not_logged_in);
}
}
}

你可能会想尝试Android的教程开始。 或者,如果你想要一些更深入,尝试开发指南

*编辑哎呀,忘了打电话super.onCreate()

sgarman的建议创建一个单独的登录行为,自动将用户转发到您的主要活动也相当可行的,而且他不对这种方法的模块化好点。

你可以有一个活动只是登录,如果用户已经登录就可以完成()的活动,并将它们路由(startActivity()),以一个记录与布局的活动。

IMO这主要是个人喜好。

有几个方式来处理这个问题。

你可以有一个活动只是登录,如果用户已经登录就可以完成()的活动,并将它们路由(startActivity()),以一个记录与布局的活动。

你可以有你需要彼此顶部采用RelativeLayouts和设置用户信息部分的知名度所有的布局部分:走了。 如果用户登录可以findViewById()和setVisibitlity到View.VISIBLE。

你可以检查,如果用户登录之前,您拨打的setContentView,并选择基于正确的布局。

第一种选择可能是最模块化的,但也是最繁重。 在我的代码我有一个日志中的活动,返回结果的基础上成功登录等等。这样的逻辑是完全独立的,我可以打一个电话,从任何地方的应用程序来处理登录问题的其他活动。

你有两个选择。 1)请两个独立的屏幕,并显示相应的之一。 2)请使用您的XML一个的FrameLayout和覆盖在彼此顶部的两套不同的看法。 然后,在代码中的可见性设置为走了,你不希望看到的东西。

您可以使用的onCreate方法的setContentView。 定义一个成员变量来检查用户登录。 并选择使用由每个案件的setContentView方法XML布局。

public class Login_testActivity extends Activity {

//If logged, set user id.
private String loginId = null;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(loginId==null || loginId.equals(""))
{
//Not Logged. show login form.
setContentView(R.layout.login);
}
else
{
//Logged. show user's photo.
setContentView(R.layout.main);
}
}

分类:安卓 时间:2015-03-15 人气:1
本文关键词: 机器人,机器人布局
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.346 (s). 10 q(s)