0

注意我编辑了 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>

谢谢!

4

3 回答 3

1

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

于 2013-01-22T20:30:28.330 回答
0

尝试使用 A 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"

(用于框架布局

于 2013-01-22T18:46:09.157 回答
0

FrameLayout替换为垂直LinearLayout

于 2013-01-22T18:48:21.247 回答