您好,只是想知道是否有人可以帮助我,我是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作为按钮可以吗?
提前致谢 莱恩
答案 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){
}....
}