所以我有一个活动,它在启动时从意图中获取字符串和整数,并根据它从资源图像(约200kb)和AutoResizeTextView
上的文本设置背景。 AutoResizeTextView
也使用字体。除此之外,还有3个按钮,它们只是通过附加功能启动其他活动。
这是代码 -
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.graphics.Color;
import android.graphics.Typeface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
public class test extends AppCompatActivity {
public int wall;
public String set1;
public TextView tv;
public Button b1,b2,b3;
public Typeface font4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
font4 = Typeface.createFromAsset(getAssets(), "fonts/lesserconcernregular.ttf");
setContentView(R.layout.activity_quoto);
Bundle appdat=getIntent().getExtras();
if(appdat!=null){
try {
set1 = appdat.getString("exact1");
wall = appdat.getInt("exact2");
}
catch (Exception a){
set1 ="Error";
wall =1;
}
}
else{
set1="No data";
wall=1;
}
final RelativeLayout rlay=(RelativeLayout)findViewById(R.id.rlay);
tv=(TextView)findViewById(R.id.textoo);
tv.setText(set1);
tv.setTypeface(font4);
AdView mAdView = (AdView) findViewById(R.id.adViews);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
switch (wall){
case 1:
rlay.setBackgroundResource(R.drawable.id1);
break;
case 2:
rlay.setBackgroundResource(R.drawable.id2);
break;
//So on till 50
}
rlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
moveTaskToBack(true);
}
});
b1=(Button)findViewById(R.id.button1);
b2=(Button)findViewById(R.id.button2);
b3=(Button)findViewById(R.id.button3);
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rlay.setBackgroundColor(Color.argb(255,137,244,95));
tv.setBackgroundColor(Color.argb(33,0,0,0));
Intent k=new Intent(test.this,Main2Activity.class);
k.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(k);
}
});
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rlay.setBackgroundColor(Color.argb(255,137,244,95));
tv.setBackgroundColor(Color.argb(33,0,0,0));
Intent qu=new Intent(test.this,wallandshare.class);
qu.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
qu.putExtra("exact1",set1);
qu.putExtra("exact2",wall);
qu.putExtra("exact3", 1);
startActivity(qu);
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rlay.setBackgroundColor(Color.argb(255,137,244,95));
tv.setBackgroundColor(Color.argb(33,0,0,0));
Intent qu=new Intent(test.this,wallandshare.class);
qu.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
qu.putExtra("exact1",set1);
qu.putExtra("exact2",wall);
qu.putExtra("exact3", 2);
startActivity(qu);
}
});
}
}
AutoResizeTextView
已在XML布局中定义,我使用简单的TextView
来更改它。
问题是,当启动此活动时,屏幕变白并需要很长时间才能加载。我有什么办法可以让它快速加载吗?
答案 0 :(得分:1)
我认为您一旦启动活动就会加载如此多的数据。 使用Handler并在几毫秒后运行代码。