我正在尝试使用白色屏幕创建徽标但我不知道是否有一种简单的方法可以在android上执行此操作。是的,我知道我有 - > http://www.droiddraw.org /但它仍然有助于我。如果我创建它如何在一些手机上工作因为屏幕尺寸
感谢
答案 0 :(得分:1)
一旦你想要使用某种徽标,你可以将它放在ImageView中并将layout_height和layout_width设置为fill_parent。这样它就会被拉伸以匹配屏幕。
我建议制作一个扩展AsyncTask的Splash活动。
例如:
public class Splash extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
GotoHome go = new GotoHome(this);
go.execute();
}
private class GotoHome extends AsyncTask(Void, Void, Void)
{
static final long waitTime = 1 * 4000L;
Context context;
long preTime;
public GotoHome(Context context)
{
this.context = context;
}
@Override
protected void onPostExecute(Void result)
{
super.onPostExecute(result);
startActivity(new Intent(context, YOUR ACTIVITY HERE));
finish();
}
@Override
protected void onPreExecute()
{
super.onPreExecute();
preTime = System.currentTimeMillis();
}
@Override
protected Void doInBackground(Void... args)
{
long timeDifference = System.currentTimeMillis() - preTime;
if(timeDifference < preTime)
{
try
{
Thread.sleep(splashTime - timeDifference);
}
catch(InterruptedException ie)
{
Log.d("GotoHome", ie.getMessage());
}
}
return null;
}
}
然后你的splash.xml看起来像tihs:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/splash_image"
>
</LinearLayout>
splash_image将是您的徽标。
希望它有所帮助: - )
答案 1 :(得分:0)
另一个不错的技巧是将活动主题设置为透明。将其添加到将显示启动画面的活动中。
android:theme="@android:style/Theme.Translucent"
然后创建一个以屏幕为中心的视图。因此,您创建了一个漂亮的启动画面 - 真正将其设置为添加边框和渐变背景或背景图案,并在其顶部添加徽标。
现在只需创建一个延迟线程来启动应用程序活动并完成启动屏幕活动。现在,当用户打开您的应用程序时,启动屏幕会显示延迟时间(最好是2-3秒),然后加载应用程序。确保应用逻辑来确定应用程序是否已在运行,这样如果应用程序在后台打开并再次单击图标而不是显示您可以发送的启动屏幕并且意图将应用程序放在前面。
希望这有帮助。