活动按钮显示空白

时间:2013-01-22 18:33:33

标签: android android-layout android-button

请注意我编辑了XML文件!!!!

我有一个创建按钮的Activity,当你点击按钮时,它会调用另一个Activity,但是当我运行应用程序时,它只显示一个空白页面。 活性:

package com.elichai.tfillin;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
public void OnCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    addListenerOnButton();
}
private void displayCamera() {
    Intent i = new Intent(this, CameraActivity.class);
    startActivityForResult(i, 0);
}
public void addListenerOnButton() {
    final Button button1 = (Button) findViewById(R.id.button1);
    //Button button2 = (Button) findViewById(R.id.button2);
    //Button button3 = (Button) findViewById(R.id.button3);
    //Button button4 = (Button) findViewById(R.id.button4);
    button1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            displayCamera();
            //finish();
        }
      });
}
}

这是activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <Button
        android:id="@+id/button1"
        android:layout_width="166dp"
        android:layout_height="216dp"
        android:layout_marginLeft="7dp"
        android:text="@string/button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="166dp"
        android:layout_height="216dp"
        android:layout_marginLeft="182dp"
        android:text="@string/button" />

    <Button
        android:id="@+id/button3"
        android:layout_width="166dp"
        android:layout_height="216dp"
        android:layout_marginLeft="7dp"
        android:layout_marginTop="260dp"
        android:text="@string/button" />

<Button
        android:id="@+id/button4"
        android:layout_width="166dp"
        android:layout_height="216dp"
        android:layout_marginLeft="182dp"
        android:layout_marginTop="260dp"
        android:text="@string/button" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="223dp"
        android:layout_height="52dp"
        android:layout_marginLeft="85dp"
        android:layout_marginTop="215dp"
        android:text="@string/switch_cam"
        android:textSize="30sp" />

</LinearLayout>

谢谢!

3 个答案:

答案 0 :(得分:1)

布局没有问题。在MainActivity类中,onCreate()方法签名写错了。使用onCreate()而不是OnCreate()。 (小'o') 系统在创建活动时调用onCreate()。

答案 1 :(得分:0)

尝试使用 RelativeLayout 代替 FrameLayout ,除非有继电器需要使用它。

或者如果你想使用FrameLayout试试这个

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/camera_preview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1" >

    <Button
        android:id="@+id/button1"
        android:layout_width="166dp"
        android:layout_height="216dp"
        android:layout_gravity="top"
        android:layout_marginLeft="7dp"
        android:text="@string/button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="166dp"
        android:layout_height="216dp"
        android:layout_gravity="top"
        android:layout_marginLeft="182dp"
        android:text="@string/button" />

    <Button
        android:id="@+id/button3"
        android:layout_width="166dp"
        android:layout_height="216dp"
        android:layout_gravity="top"
        android:layout_marginLeft="7dp"
        android:layout_marginTop="260dp"
        android:text="@string/button" />

    <Button
        android:id="@+id/button4"
        android:layout_width="166dp"
        android:layout_height="216dp"
        android:layout_gravity="top"
        android:layout_marginLeft="182dp"
        android:layout_marginTop="260dp"
        android:text="@string/button" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="223dp"
        android:layout_height="52dp"
        android:layout_gravity="top"
        android:layout_marginLeft="85dp"
        android:layout_marginTop="215dp"
        android:text="switchcam"
        android:textSize="30sp" />

</FrameLayout>

布局_ 边距在 FrameLayout 中不起作用,直到您还设置了子视图布局重力,例如

android:layout_gravity="top"

(对于 framelayout

答案 2 :(得分:0)

FrameLayout 替换为垂直 LinearLayout