当我运行我的应用程序时,我的启动画面很难延伸,因此我尝试了一个解决方案,在这里的一个问题上手动调整抖动并清除,如此
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
BitmapFactory.Options myOptions = new BitmapFactory.Options();
myOptions.inDither = true;
myOptions.inScaled = false;
myOptions.inPreferredConfig = Bitmap.Config.ARGB_8888;
myOptions.inDither = false;
myOptions.inPurgeable = true;
Bitmap preparedBitmap = BitmapFactory.decodeResource(getApplication()
.getResources(), R.drawable.bg, myOptions);
Drawable background = new BitmapDrawable(preparedBitmap);
((LinearLayout) findViewById(R.id.layout_main))
.setBackgroundDrawable(background);
我没有设置引起不良拉伸的飞溅图像,而是设置背景和配置选项。 我的xml看起来像这样
<?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:id="@+id/layout_main">
</LinearLayout>
我尝试了Clean + rebuild + refresh,但我仍然在
处得到NullPointerException((LinearLayout) findViewById(R.id.layout_main))
.setBackgroundDrawable(background);
无法找到线性布局。有任何想法吗?救命啊!
答案 0 :(得分:0)
我通过在布局中添加一些像imageview和src = @null这样的虚拟内容来解决这个问题。否则布局不会膨胀。之后,我做了我正在做的事情,瞧。道德:为了想要以编程方式找到的布局而膨胀 - 添加一些虚拟内容而不仅仅是布局(我不知道官方文档说的是什么,但这是我在我的案例中发现的)