您好,我是 Android 开发的新手,我想创建一个包含三个页面和一个主页面的应用程序,主页面上有用于导航到不同页面的按钮。我已经创建了不同的 xml 页面,我相信我必须创建某种 onclick 东西,但我不确定。
我需要什么 java 代码,我还需要添加什么到普通按钮 xml 等等。谁能给我一个例子来实现我的图片工作
这是我的按钮之一
<Button
android:id="@+id/information"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#fff"
android:background="@drawable/custombutton"
android:text="Information >"
android:textSize="18dp"
android:layout_marginBottom="2dp"
/>
这是我唯一的 java 文件(我是添加到这个还是新建一个)
package com.techie.layout;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import reading.festival.guide.R;
public class LayoutPractice extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//makes full screen and takes away title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
//
setContentView(R.layout.linear);
}
}
我的其他 xml 布局称为站点地图、信息和阵容,原始 xml 称为线性。
我希望我已经提供了足够的信息来帮助我,我相信这很容易而且我很愚蠢
干杯
最佳答案
最简单的方法是使用 android:onClick
属性在您的 xml 中定义点击处理程序:
<Button
android:id="@+id/information"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#fff"
android:background="@drawable/custombutton"
android:text="Information >"
android:textSize="18dp"
android:layout_marginBottom="2dp"
android:onClick="myClickHandler"
/>
通过添加这个,你告诉 Android 在你的 Activity 中一个函数的名称,当你的按钮被点击时调用。不过,此功能必须遵循一些规则。它的返回类型必须为 void,只接受一个参数,即 View。继续上面的例子,你需要在你的 Activity 中添加以下内容,它将是:
public void myClickHandler(View v){
//handle the click here
}
您可能需要为站点地图、信息和 linuep 布局创建单独的 Activity 。不要忘记也在您的 manifest.xml 中声明这些新 Activity 。
假设您创建了一个名为 InformationActivity
的 Activity 。要从我们的示例按钮点击启动它,您可以这样做:
public void myClickHandler(View v){
startActivity(new Intent(this, InformationActivity.class);
}
有关更多详细信息,请阅读 Android dev guide 中的 Activity 和 UI .
关于Android按钮打开xml布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7128274/