#android #android-layout #android-activity
#Android #android-layout #android-активность
Вопрос:
Это код для setTranslation . Но транзакция не работает. Этот код вызывает побочную активность. Какие-либо проблемы с этим. Тот же код отлично работает в activity.
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View myView = inflater.inflate(R.layout.activity_home, null);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_FULLSCREEN
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP | Gravity.LEFT;
params.x = 0;
params.y = 100;
windowManager.addView(myView, params);
lockParent = myView.findViewById(R.id.lockParent);
lockParent.setOnTouchListener(new OnTouchListener() {
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
// TODO Auto-generated method stub
System.out.println(arg1.getAction());
switch (arg1.getAction()) {
case MotionEvent.ACTION_DOWN:
System.out.println("down");
downX = arg1.getRawX();
break;
case MotionEvent.ACTION_MOVE:
System.out.println("move");
deltaX = arg1.getRawX() - downX;
lockParent.setTranslationX(deltaX);
break;
default:
break;
}
return true;
}
});
Комментарии:
1. Как вы это называете? Где вы это называете? Что происходит, когда вы его вызываете? Вы получаете какую-либо ошибку? Может быть, сбой? Вы проверили Logcat?
2. @WarrenFaith Я вызываю это из службы. значения перевода получены правильно, но перевода не происходит.
3. любая помощь по этому поводу /
Ответ №1:
Переместите все в вашем activity_home во FrameLayout и переведите содержимое внутри этого макета.
Предположим, что ваш макет activity_home:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@ id/lockParent>
...
<RelativeLayout>
Изменен макет activity_home:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@ id/lockParent>
...
<RelativeLayout>
<FrameLayout>