如何仅使用xml代码在Android中切换活动

时间:2014-09-08 02:34:06

标签: java android xml

您好我有一个应用即时工作,我丢失了源代码,当我的计算机崩溃我能够反编译我的apk,使其再次成为一个项目,但我需要做一些更改,所以我需要帮助这是我有一个滑动抽屉,其中有一个按钮我希望它打开游戏商店,当用户点击它我知道如何通过java活动这样做,但它只通过smali代码反编译我的代码,所以我需要知道是否有办法通过xml按钮点击打开游戏商店

这是我的主要代码:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/frame" android:focusable="true" android:focusableInTouchMode="true" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <com.d4a.tobiaslauncher.AnimationOnResume android:id="@id/animation_on_resume" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" />
    <com.d4a.tobiaslauncher.AnimationOpenFolder android:id="@id/animation_open_folder" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" />
    <LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/folder_container" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <FrameLayout android:id="@id/folder_title_area" android:layout_width="fill_parent" android:layout_height="1.0dip" android:layout_marginLeft="7.0dip" android:layout_marginRight="7.0dip">
            <EditText android:textSize="36.0dip" android:textColor="#ffffffff" android:gravity="center" android:layout_gravity="center_vertical" android:id="@id/folder_title" android:background="@drawable/folder_title" android:layout_width="fill_parent" android:layout_height="58.0dip" android:includeFontPadding="false" android:inputType="text" android:textCursorDrawable="@drawable/caret" />
            <Button android:layout_gravity="right|center" android:id="@id/folder_title_clear" android:background="@drawable/folder_title_xbutton" android:layout_width="19.0dip" android:layout_height="19.0dip" android:layout_marginRight="16.0dip" />
        </FrameLayout>
        <net.suckga.ilauncher.paging.PageScrollView android:id="@id/folder_scroll_container" android:visibility="invisible" android:scrollbars="none" android:fadingEdge="none" android:layout_width="1.0dip" android:layout_height="1.0dip">
            <LinearLayout android:orientation="horizontal" android:id="@id/folder_scroll_content" android:layout_width="wrap_content" android:layout_height="fill_parent" />
        </net.suckga.ilauncher.paging.PageScrollView>
        <com.d4a.tobiaslauncher.PageIndicator android:layout_gravity="bottom" android:id="@id/folder_page_indicator" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="-17.0dip" />
    </LinearLayout>
    <RelativeLayout android:layout_gravity="top" android:id="@id/springboard_container" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <com.d4a.tobiaslauncher.DockBar android:id="@id/dockBar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" />
        <com.d4a.tobiaslauncher.PageIndicator android:id="@id/page_indicator" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_above="@id/dockBar" />
        <net.suckga.ilauncher.paging.PageScrollView android:id="@id/scrollContainer" android:visibility="invisible" android:scrollbars="none" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@id/page_indicator">
            <LinearLayout android:orientation="horizontal" android:id="@id/scrollView" android:layout_width="wrap_content" android:layout_height="fill_parent" />
        </net.suckga.ilauncher.paging.PageScrollView>  
        <fragment android:name="com.d4a.tobiaslauncher.QuickLaunch"
            android:id="@+id/quicklaunch"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_gravity="bottom"/>
</RelativeLayout>
    <com.d4a.tobiaslauncher.MovingIconView android:id="@id/panelMoving" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:contentDescription="@null" />
    <LinearLayout android:gravity="center" android:id="@id/logoPanel" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <ImageView android:id="@id/logo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/logo" android:contentDescription="@null" />
    </LinearLayout>
</FrameLayout>

滑动抽屉代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <SlidingDrawer android:id="@id/slidingDrawer" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="4.0dip" android:handle="@id/handle" android:content="@id/content">
        <ImageView android:id="@id/handle" android:layout_width="fill_parent" android:layout_height="20.0dip" />
        <LinearLayout android:orientation="vertical" android:id="@id/content" android:background="@color/drawerbg" android:layout_width="fill_parent" android:layout_height="wrap_content">
            <include android:id="@id/web" android:layout_width="fill_parent" android:layout_height="72.0dip" android:layout_marginLeft="15.0dip" android:layout_marginTop="8.0dip" android:layout_marginRight="15.0dip" android:layout_marginBottom="8.0dip" android:onClick="web" layout="@layout/web_card" />
            <include android:id="@id/mail" android:layout_width="fill_parent" android:layout_height="72.0dip" android:layout_marginLeft="15.0dip" android:layout_marginTop="8.0dip" android:layout_marginRight="15.0dip" android:layout_marginBottom="8.0dip" android:onClick="email" layout="@layout/email_card" />
            <include android:id="@id/musiccard" android:layout_width="fill_parent" android:layout_height="72.0dip" android:layout_marginLeft="15.0dip" android:layout_marginTop="8.0dip" android:layout_marginRight="15.0dip" android:layout_marginBottom="8.0dip" android:onClick="music" layout="@layout/music_card" />
            <include android:id="@id/playcard" android:layout_width="fill_parent" android:layout_height="72.0dip" android:layout_marginLeft="15.0dip" android:layout_marginTop="8.0dip" android:layout_marginRight="15.0dip" android:layout_marginBottom="8.0dip" android:onClick="play" layout="@layout/playstore_card" />
            <include android:layout_gravity="center" android:id="@id/buttons" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/buttons2" />
        </LinearLayout>
    </SlidingDrawer>
</RelativeLayout>

Playstore按钮卡:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:background="@drawable/card_background" android:layout_width="fill_parent" android:layout_height="fill_parent" android:onClick="play"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <ImageView android:id="@id/playicon" android:padding="5.0dip" android:layout_width="68.0dip" android:layout_height="68.0dip" android:src="@drawable/play" android:layout_centerVertical="true" />
    <TextView android:textSize="30.0sp" android:textColor="@color/cardText" android:id="@id/play" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Google Play" android:layout_toRightOf="@id/playicon" android:layout_centerVertical="true" />
</RelativeLayout>

任何帮助都会很棒

提前谢谢!!

2 个答案:

答案 0 :(得分:0)

也许我误解了你的问题。如果是的话,我很抱歉,请让我知道,我会改变我的答案。

但是如果你有一个按钮,并且想要进行不同的活动,这很简单。

只需添加:

android:onClick="functionName"

到按钮的XML。

然后在java中创建一个名为functionName的函数,该函数将View视图作为参数,然后为新活动创建一个intent并启动它。

public void functionName(View view) {
    Intent intent = new Intent(getApplication(),classToGoTo.class);
    startActivity(intent);
}

或者你想要去其他活动。或者你想做的其他事情。只需将其放在functionName函数内。

我希望这会有所帮助。祝你好运:)

答案 1 :(得分:0)

您无法使用 XML代码执行此操作。您必须创建OnClickListener或声明onClick方法并以Java开始活动。