0
Wenn ich eine Textansicht auf die rechte Seite des Bildschirms ziehen.Es wird automatisch "zentriert", aber ich möchte nicht automatisch die Textansicht ausrichten. (Wenn ich TextView nach rechts ziehen Seitenende, Wenn TextViews teilweise ausgeblendet sind, ist es ok für mich). Was soll ich tun.TextAnsichten automatisch ausgerichtet wenn gezogen
Hier ist mein Code
XML-Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linear"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="Test1" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="Test2" />
</RelativeLayout>
Java-Code:
public class TestActivity extends Activity {
int pressed_x,pressed_y,pressed_x1,pressed_y1;
TextView tv1,tv2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
tv1 = (TextView) findViewById(R.id.tv1);
tv2 = (TextView) findViewById(R.id.tv2);
tv1.setOnTouchListener(mOnTouchListenerTv1);
tv2.setOnTouchListener(mOnTouchListenerTv2);
}
public final View.OnTouchListener mOnTouchListenerTv1 = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
RelativeLayout.LayoutParams relativeLayoutParams = (RelativeLayout.LayoutParams) tv1.getLayoutParams();
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
Log.d("TAG","@@@@ TV1 ACTION_UP");
// Where the user started the drag
pressed_x = (int) event.getRawX();
pressed_y = (int) event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
Log.d("TAG","@@@@ TV1 ACTION_UP");
// Where the user's finger is during the drag
final int x = (int) event.getRawX();
final int y = (int) event.getRawY();
// Calculate change in x and change in y
int dx = x - pressed_x;
int dy = y - pressed_y;
// Update the margins
relativeLayoutParams.leftMargin += dx;
relativeLayoutParams.topMargin += dy;
tv1.setLayoutParams(relativeLayoutParams);
// Save where the user's finger was for the next ACTION_MOVE
pressed_x = x;
pressed_y = y;
break;
case MotionEvent.ACTION_UP:
Log.d("TAG","@@@@ TV1 ACTION_UP");
break;
}
return true;
}
};
public final View.OnTouchListener mOnTouchListenerTv2 = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
RelativeLayout.LayoutParams relativeLayoutParams1 = (RelativeLayout.LayoutParams) tv2.getLayoutParams();
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
Log.d("TAG","@@@@ TV2 ACTION_DOWN");
// Where the user started the drag
pressed_x1 = (int) event.getRawX();
pressed_y1 = (int) event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
Log.d("TAG","@@@@ TV2 ACTION_MOVE");
// Where the user's finger is during the drag
final int x = (int) event.getRawX();
final int y = (int) event.getRawY();
// Calculate change in x and change in y
int dx = x - pressed_x1;
int dy = y - pressed_y1;
// Update the margins
relativeLayoutParams1.leftMargin += dx;
relativeLayoutParams1.topMargin += dy;
tv2.setLayoutParams(relativeLayoutParams1);
// Save where the user's finger was for the next ACTION_MOVE
pressed_x1 = x;
pressed_y1 = y;
break;
case MotionEvent.ACTION_UP:
Log.d("TAG","@@@@ TV2 ACTION_UP");
break;
}
return true;
}
};
}
seine nicht funktioniert für Right Ausrichtung Versuchen .. Ich kann nicht ziehe irgendwohin, wenn ich die Parameter "align_parent top" verwende oder rechts oder unten " –
Kann U genauer sein, was genau willst du? –
Ich möchte meine Textansicht an beliebiger Stelle auf dem Bildschirm verschieben, ohne sie automatisch auszurichten. –