是否有任何安卓程序库:
答案 0 :(得分:0)
我做过你正在考虑的事情。我会告诉你,如果对你有用(我想会,但你必须适应这一点):
背景:我创建了一个基于太空入侵者的简单游戏。我的游戏有一个主菜单(主要活动),玩家可以按“播放”或扫描选择一些“选项”,但弹出窗口。
1 屏幕:主菜单。 2 屏幕:当我按下“选项”按钮时会出现弹出窗口。这个弹出窗口让我选择图形选项(改变游戏背景,盟友宇宙飞船模型和敌人spaship模型)。
MainActivity.java
optionBoton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
soundMenu.start();
LayoutInflater inflater = (LayoutInflater) getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View viewPopup = inflater.inflate(R.layout.popup_activity, null);
popup = new PopupWindow(
viewPopup,
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
);
popup.showAtLocation(layoutPrincipal, Gravity.BOTTOM, 0, 0);
ImageButton closePop = (ImageButton) vistaPopup.findViewById(R.id.volver_boton);
closePop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
soundMenu.start();
popup.dismiss();
optionBoton.setVisibility(View.VISIBLE);
}
});
optionBoton.setVisibility(View.INVISIBLE);
}
});
此代码将在onCreate方法中。
现在,您需要设计自己的XML弹出窗口(如果您决定创建弹出窗口)。显示弹出窗口是一种简单,干净,动态的方式来更改图形选项。
popup_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#839ceaac"
android:orientation="vertical">
<ImageButton
android:id="@+id/volver_boton"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_marginRight="2dp"
android:layout_marginTop="3dp"
android:background="@android:color/transparent"
android:scaleType="centerCrop"
android:src="@drawable/wcerrar" />
<TextView
android:id="@+id/options_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="6dp"
android:layout_marginTop="5dp"
android:text="Opciones gráficas"
android:textSize="20dp"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_below="@id/options_title"
android:background="#9dc8a6" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/options_title"
android:layout_marginBottom="8dp"
android:layout_marginTop="5dp"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:id="@+id/back_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:text="Fondo"
android:textSize="15sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/back_1"
android:layout_width="40dp"
android:layout_height="60dp"
android:layout_below="@id/back_title"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:adjustViewBounds="true"
android:onClick="uploadBack"
android:scaleType="centerCrop"
android:src="@drawable/fondo" />
<ImageView
android:id="@+id/back_2"
android:layout_width="40dp"
android:layout_height="60dp"
android:layout_below="@id/back_1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:adjustViewBounds="true"
android:onClick="uploadBack"
android:scaleType="centerCrop"
android:src="@drawable/fondo1" />
<ImageView
android:id="@+id/back_3"
android:layout_width="40dp"
android:layout_height="60dp"
android:layout_below="@id/back_2"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:adjustViewBounds="true"
android:onClick="uploadBack"
android:scaleType="centerCrop"
android:src="@drawable/fondo3" />
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:id="@+id/spaceship_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:text="Spaceship"
android:textSize="15sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/spaceship_1"
android:layout_width="40dp"
android:layout_height="60dp"
android:layout_below="@id/spaceship_title"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:adjustViewBounds="true"
android:onClick="uploadSpaceship"
android:src="@drawable/diseno11" />
<ImageView
android:id="@+id/spaceship_2"
android:layout_width="40dp"
android:layout_height="60dp"
android:layout_below="@id/spaceship_1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:adjustViewBounds="true"
android:onClick="uploadSpaceship"
android:src="@drawable/diseno21" />
<ImageView
android:id="@+id/spaceship_3"
android:layout_width="40dp"
android:layout_height="60dp"
android:layout_below="@id/spaceship_2"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:adjustViewBounds="true"
android:onClick="uploadSpaceship"
android:src="@drawable/diseno31" />
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:id="@+id/enemy_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:text="Enemies"
android:textSize="15sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/enemy_1"
android:layout_width="40dp"
android:layout_height="60dp"
android:layout_below="@id/enemy_title"
android:layout_centerHorizontal="true"
android:layout_marginBottom="3dp"
android:adjustViewBounds="true"
android:onClick="uploadEnemy"
android:rotation="180"
android:src="@drawable/enemigodiseno11" />
<ImageView
android:id="@+id/enemy_2"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_below="@id/enemy_1"
android:layout_marginBottom="3dp"
android:layout_centerHorizontal="true"
android:src="@drawable/enemigodiseno21"
android:onClick="uploadEnemy"/>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
无论如何,如果你选择不使用弹出窗口,我会告诉你如何将一些数据发送到Android开发中的另一个活动:
方法示例
public void uploadBack(View view) {
switch (view.getId()) {
case R.id.back_1:
result[0] = "back";
break;
case R.id.back_2:
result[0] = "back1";
break;
case R.id.back_3:
result[0] = "back3";
break;
}
}
正如你所看到的,我有一系列有3个位置的字符串。当我单击ImageView时,我调用方法改变结果[i]值。当我按“播放”并调用游戏活动时,我使用putExtra方法发送这些选项并更改游戏设置。
我希望这可以帮助解决您的问题。
度过美好的一天!