所以这就是我需要的:第一页 - >链接到第二页(带有几个图像按钮) - >链接到不同的第三页。
现在我尝试了“第一页 - >链接到第二页”阶段。
activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textSize="20sp"
android:text="This is first activity" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="14dp"
android:text="Move to second activity" />
</RelativeLayout>
MainActivity.java:
package com.example.acer.myapplication;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
Button buttoon;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Intent move= new Intent(this, ActivityTwo.class);
buttoon=(Button) findViewById(R.id.button1);
buttoon.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(move);
}
});
}
}
ActivityTwo.java:
package com.example.acer.myapplication;
import android.os.Bundle;
import android.app.Activity;
public class ActivityTwo extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
}
}
当第二页DID不包含任何图像按钮时,它实际上正在工作。
activity_two.xml(WORKING):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="92dp"
android:text="Second activity"
android:textSize="20sp" />
</RelativeLayout>
没有任何图像的按钮也在工作:
<Button
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Second activity" />
但是当你添加图片时,它就不起作用了。
使用带背景图片的按钮(不工作):
<Button
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Second activity"
android:background="@drawable/image"/>
使用图片按钮(不工作):
<ImageButton
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Second activity"
android:src="@drawable/image"/>
我真的需要第二页有图像按钮。请赐教我错在哪里或是否有其他伎俩。
ps:当我说不工作时,我的意思是它可以顺利构建,但只是在调用意图时强制关闭Android手机。所以没有logcat条目。
答案 0 :(得分:0)
您的图片可能太大而且您正在收到OOME(Out of Memory Error)
减小图像的大小。 &#34;默认&#34;堆大小通常为24MB(https://code.google.com/p/android/issues/detail?id=14869),这很容易烧过。
您可能需要增加应用设备的堆大小:
How to increase heap size of an android application?
编辑:
我应该补充一点,在自动增加堆大小之前,你应该尽一切努力减少图像大小。否则,您将在以后用完堆,然后清理所有太大的图像文件。
答案 1 :(得分:0)
调整图片大小,尝试100dp x 100dp并将其放入可绘制文件夹中。不建议增加堆大小。