我正在尝试在安卓工作室中为一个班级构建一个应用程序,我正在尝试在三星Galaxy S4上测试我的应用程序。 当我按下屏幕上的按钮以保存用户输入的数据时,所有 editText 和 TextView 都会移动到屏幕左侧,我不知道为什么它会这样做。 这是我的 XML 代码:
<Button
android:text="@string/display_data"
android:id="@+id/DisplayData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="DisplayData"
android:textSize="25sp"
android:textStyle="bold"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/GoalPercent"
android:text="@string/competition_percentage"
android:textSize="15sp"
android:textColor="@android:color/background_dark"
android:textStyle="bold"
android:layout_alignBaseline="@+id/textGoal"
android:layout_alignBottom="@+id/textGoal"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textGoal"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:layout_below="@+id/progressBar4"
android:layout_marginTop="10dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toRightOf="@+id/GoalPercent"
android:layout_toEndOf="@+id/GoalPercent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/Temp"
android:id="@+id/textTemp"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/GoalPercent"
android:layout_toRightOf="@id/GoalPercent"
android:layout_alignLeft="@+id/textGoal"
android:layout_alignStart="@+id/textGoal" />
<TextView
android:text="@string/current_heart_rate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/HR"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:textStyle="bold"
android:layout_below="@+id/Temp"
android:layout_marginTop="10dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/Temp"
android:layout_alignEnd="@+id/Temp" />
<TextView
android:text="@string/body_temperature"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Temp"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:textStyle="bold"
android:layout_marginTop="15dp"
android:layout_below="@+id/GoalPercent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/GoalPercent"
android:layout_alignEnd="@+id/GoalPercent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textHR"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:layout_alignBaseline="@+id/HR"
android:layout_alignBottom="@+id/HR"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignLeft="@+id/textTemp"
android:layout_alignStart="@+id/textTemp" />
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinGender"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:entries="@array/gender_choice"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/Gender"
android:layout_toRightOf="@id/Gender"
android:layout_alignLeft="@+id/enterFeet"
android:layout_alignStart="@+id/enterFeet" />
<TextView
android:text="@string/gender_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Gender"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:textStyle="bold"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/Steps"
android:layout_alignEnd="@+id/Steps" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/enterStep"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:hint="@string/enter_value"
android:maxLines="1"
android:textAlignment="center"
android:layout_alignBottom="@+id/SetStep"
android:layout_alignLeft="@+id/textSteps"
android:layout_alignStart="@+id/textSteps"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<ProgressBar
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/progressBar4"
android:maxHeight="35dip"
android:minHeight="35dip"
android:scrollbarSize="200dp"
android:maxWidth="10dip"
android:minWidth="10dip"
android:layout_below="@+id/SetStep"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:text="@string/total_steps_today"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Steps"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
tools:textStyle="bold"
android:layout_below="@+id/enterLbs"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textSteps"
android:textSize="15sp"
android:textColor="@android:color/background_dark"
android:layout_below="@+id/enterLbs"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toRightOf="@+id/GoalPercent"
android:layout_toEndOf="@+id/GoalPercent" />
<Button
android:text="@string/set_step_goal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/SetStep"
android:textSize="15sp"
android:onClick="SetGoal"
android:textStyle="bold"
android:layout_below="@+id/Steps"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/lbs"
android:textAlignment="center"
android:ems="5"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:id="@+id/enterLbs"
android:layout_below="@+id/enterFeet"
android:layout_alignRight="@+id/textSteps"
android:layout_alignEnd="@+id/textSteps"
android:layout_alignLeft="@+id/enterFeet"
android:layout_alignStart="@+id/enterFeet" />
<TextView
android:text="@string/enter_your_height"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:textStyle="bold"
android:id="@+id/Height"
android:layout_below="@+id/spinGender"
android:layout_alignRight="@+id/Gender"
android:layout_alignEnd="@+id/Gender"
android:layout_marginTop="13dp" />
<TextView
android:text="@string/enter_your_weight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:textStyle="bold"
android:id="@+id/Weight"
android:layout_alignBaseline="@+id/enterLbs"
android:layout_alignBottom="@+id/enterLbs"
android:layout_alignLeft="@+id/Height"
android:layout_alignStart="@+id/Height" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/feet"
android:ems="4"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:textAlignment="center"
android:id="@+id/enterFeet"
android:maxLines="1"
android:layout_below="@+id/spinGender"
android:layout_alignLeft="@+id/textSteps"
android:layout_alignStart="@+id/textSteps" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/enterInches"
android:hint="@string/inches"
android:ems="4"
android:textColor="@android:color/background_dark"
android:textSize="15sp"
android:maxLines="1"
android:textAlignment="center"
android:layout_below="@+id/spinGender"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
这是我按下按钮时的函数:
public void SetGoal(View v) {
Max = Integer.parseInt(Goal.getText().toString());
GoalProgressBar.setMax(Max);
GoalProgressBar.setProgress(Steps);
//display goal completion percentage
goalpercent = (Steps / Max) * 100;
GoalPer.setText(Integer.toString(goalpercent));
}
我不能在计算机上使用模拟器。由于某种原因,我的计算机无法运行 AVD 管理器中的任何模拟器。任何帮助或建议不胜感激。
因為您的 editText 和 TextView 取決於佈局中的 GoalPercent (ProgressBar) 对齐方式。这就是为什么 editText 和 TextView 在 GoalPercent(进度条)显示或隐藏时更改布局中的位置。
android:layout_toEndOf="@+id/GoalPercent"
android:layout_toRightOf="@id/GoalPercent"
删除它并重新设计小部件不依赖于目标百分比进度条。