#android
#Android
Вопрос:
Я смотрю лекцию, но застрял в месте под названием «Отображение местоположения тостов».
Если вы введете левую (координата X) и правую (координата Y) в уравнение, позиция тостов будет
Они летают соответственно,
Цель состоит в том, чтобы сделать это таким образом,
Я ввел код таким, каким он был, и какое бы значение я ни ввел
Это отображается только ниже.
Просмотр журнала
E / Toast: setGravity() не должен вызываться для текстовых тостов, и значение не используется.
Я получаю эту ошибку, но я не знаю, что делать.
Помогите мне, старшие…
MainActivity.java выше это выглядит так
Приведенный ниже xml выглядит так.
public class MainActivity extends AppCompatActivity {
EditText editText;
EditText editText2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
editText2 = findViewById(R.id.editText2);
}
public void onButton1Clicked(View v) {
try {
Toast toastView = Toast.makeText(this, "위치가 바뀐 토스트 메시지입니다.",
Toast.LENGTH_LONG);
int xOffset = Integer.parseInt(editText.getText().toString());
int yOffset = Integer.parseInt(editText2.getText().toString());
toastView.setGravity(Gravity.TOP, xOffset, yOffset);
toastView.show();
} catch (NumberFormatException e) {
e.printStackTrace();
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@ id/editText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="20sp"
android:hint="X 위치"
android:inputType="numberSigned" />
<EditText
android:id="@ id/editText2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="20sp"
android:hint="Y 위치"
android:inputType="numberSigned"
/>
<Button
android:id="@ id/button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="띄우기"
android:textSize="20sp"
android:onClick="onButton1Clicked"/>
</LinearLayout>
</LinearLayout>
Комментарии:
1. developer.android.com/reference/android/widget / … метод не работает Android >= 11. Пользовательские тосты не разрешены для приложений, ориентированных на Android API 30 .
2. Вы пробовали
toast.setGravity(Gravity.TOP|Gravity.CENTER_HORIZONTAL, 0, 0);
? Работает ли это?3. Да, к сожалению, это то же самое, я думаю, правильный ответ от ashu.
4. Вы нашли ответ? Я сталкиваюсь с тем же