浏览屏幕android开发

时间:2014-02-21 17:54:36

标签: java android navigation

您好,只是想知道是否有人可以帮助我,我是JAVA(Android开发编程)的新手,做了一些关于它的HTML和C#。我最近 决定创建一个应用程序,无法弄清楚如何浏览屏幕,主屏幕到练习等。将有大约30个屏幕 (页面)每个描述包括图像在内的练习的应用程序。我想知道完成这项苦差事的最佳方法是什么? 我创建了2个XML文件,如下所示。

activity_main.xml中

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#808080"
        android:orientation="vertical"
        tools:context=".MainActivity" >

       <TextView
            android:id="@+id/title"
            android:layout_width="184dp"
            android:layout_height="65dp"
            android:layout_marginLeft="40dp"
            android:layout_marginTop="0dp"
            android:gravity="center"
            android:text="@string/description"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:textColor="#FFFF00"
            android:textSize="26sp" />

        <ImageView
            android:id="@+id/exercise"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="70dp"
            android:layout_marginTop="40dp"
            android:src="@drawable/exercises"
            android:clickable="true"
            android:onClick="myClickHandler" />

        <ImageView
            android:id="@+id/routines"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="70dp"
            android:layout_marginTop="22dp"
            android:src="@drawable/routines" />

        <ImageView
            android:id="@+id/logbook"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="70dp"
            android:layout_marginTop="22dp"
            android:src="@drawable/logbook" />

        <ImageView
            android:id="@+id/qrscanner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="70dp"
            android:layout_marginTop="22dp"
            android:src="@drawable/qrscanner" />

        <TextView
            android:id="@+id/Copyright"
            android:layout_width="206dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="220dp"
            android:layout_marginTop="70dp"
            android:text="@string/copyright"
            android:textColor="#FFFF00"
            android:textSize="14sp" />


        <ImageView
            android:id="@+id/Logo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="230dp"
            android:layout_marginTop="-440dp"
            android:src="@drawable/logov2" />

    </LinearLayout>

还是exercise.xml

    

    <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="452dp"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/Logo"
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:layout_marginLeft="230dp"
        android:layout_marginTop="0dp"
        android:src="@drawable/logov2" />

     <ImageView
         android:id="@+id/chest"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginLeft="12dp"
         android:layout_marginTop="30dp"
         android:src="@drawable/chest_exercises" />

     <ImageView
        android:id="@+id/shoulder"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="120dp"
        android:layout_marginTop="-82dp"
        android:src="@drawable/shoulderexercises" />

         <ImageView
        android:id="@+id/back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="230dp"
        android:layout_marginTop="-82dp"
        android:src="@drawable/backexercises" />

        <ImageView
        android:id="@+id/bicep"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="12dp"
        android:layout_marginTop="20dp"
        android:src="@drawable/bicepexercises" />

        <ImageView
        android:id="@+id/tricep"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="120dp"
        android:layout_marginTop="-82dp"
        android:src="@drawable/tricepexercises" />


       <ImageView
        android:id="@+id/abbs"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="230dp"
        android:layout_marginTop="-82dp"
        android:src="@drawable/abbsexercises" />

        <ImageView
        android:id="@+id/quad"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="12dp"
        android:layout_marginTop="20dp"
        android:src="@drawable/quadexercise" />

        <ImageView
        android:id="@+id/calves"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="120dp"
        android:layout_marginTop="-82dp"
        android:src="@drawable/calvesexercises" />

         <ImageView
        android:id="@+id/glutes"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="230dp"
        android:layout_marginTop="-82dp"
        android:src="@drawable/gluteexercises" />

        <ImageView
        android:id="@+id/hamstring"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="12dp"
        android:layout_marginTop="20dp"
        android:src="@drawable/hamstringexercises" />


        <ImageView
        android:id="@+id/traps"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="120dp"
        android:layout_marginTop="-82dp"
        android:src="@drawable/trapexercises" />

        <TextView
        android:id="@+id/title"
        android:layout_width="184dp"
        android:layout_height="65dp"
        android:layout_marginLeft="40dp"
        android:layout_marginTop="-470dp"
        android:gravity="center"
        android:text="@string/musclegroup"
        android:textColor="#FFFF00"
        android:textSize="26sp" />
    </LinearLayout>
</ScrollView>

我只是想知道如何从主屏幕导航到exercise.xml? 如果我使用imageviews作为按钮可以吗?

提前致谢 莱恩

3 个答案:

答案 0 :(得分:2)

请查看此链接 - http://www.mkyong.com/android/android-activity-from-one-screen-to-another-screen/

它展示了如何使用两个不同的XML将一个活动导航到另一个活动。

此外,在Android开发者网站上有一个很好的教程 - http://www.mkyong.com/android/android-activity-from-one-screen-to-another-screen/

答案 1 :(得分:1)

我建议使用按钮并将图像设置为背景。当涉及识别触摸时,图像有时很讨厌 因此导航将是例如主屏幕 - &gt;点击运动图像 - &gt;点击身体部位 - &gt;看练习?
使用这些项目只需要图像/按钮就可以了,但是如果您的子菜单变大,您应该开始考虑ListViews的性能。
如果您有这样的层次结构,则可以为每个新屏幕执行新的活动,或使用片段。当您通过屏幕时,碎片会更加平滑,但是我会建议采用清晰的层次结构来开始活动。
活动将不允许您保持一个常量标签栏,因为您将真正交换整个屏幕,但如果没有元素,您希望在每个屏幕上保持相同应该不是问题。

在我的意见中片段是做几乎所有事情的更好方法。问题是,片段对于初学者来说要复杂得多。所以,如果你有一些时间,请继续深入研究Fragments,但是如果你赶时间,只需为每个屏幕调用一个Activity就可以了。对于这种情况,这应该没问题。

答案 2 :(得分:0)

通常你要做的是使用Fragments(我建议使用)或新的Activity来显示不同的xml文件。

要从http://developer.android.com/guide/components/fragments.html复制一些代码,这是执行此操作的首选方法。

FragmentManager fragmentManager = getFragmentManager()
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
ExerciseFragment fragment = new ExerciseFragment();
fragmentTransaction.add(R.id.fragment_container, fragment);
fragmentTransaction.commit();

使用ImageViews作为按钮是完全有效的,只要对用户来说这是显而易见的。您的处理程序代码可能如下所示:

public void myClickHandler(View view){
    int id=view.getId();
    if(id==R.id.exercises){          
        doSomething()
    }else if(id=R.id.logbook){
    }....
}