首先在投票前正确理解我的问题,
我认为这就像,
<View
android:id="@+id/View01"
android:layout_width="280dp"
android:layout_height="150dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="50dp"
android:layout_marginTop="83dp"
android:background="#212121"
android:rotation="-5"
android:visibility="visible" />
和输出是,
你可以看到,当我使用 android:rotation =&#34; -5&#34; 时,它会旋转视图(黑框),但它们的坐标保持不变(蓝色矩形)。
我想在旋转后使用新的Rect,但我没有这样做,我读到了 Rect.mapPoint ,但仍未能达到目标,对此有任何帮助吗?
编辑:
final xml看起来像,
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:custom="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res/com.android.game.robbrygame"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/vScrollview"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:scrollbars="none" >
<HorizontalScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/hScrollview"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:scrollbars="none" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<View
android:id="@+id/View01"
android:layout_width="280dp"
android:layout_height="150dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="50dp"
android:layout_marginTop="83dp"
android:background="#212121"
android:rotation="-5"
android:visibility="visible" />
</RelativeLayout>
</HorizontalScrollView>
</ScrollView>
</RelativeLayout>
我有很多观点,比如 View01 等等...... !!!
答案 0 :(得分:0)
你可以使用getLocalVisibleRect()
View view01 = findViewById(R.id.View01);
view01.post(new Runnable() {
@Override
public void run() {
view01.getLocalVisibleRect(rectf);
Log.d("WIDTH :", String.valueOf(rectf.width()));
Log.d("HEIGHT :", String.valueOf(rectf.height()));
Log.d("left :", String.valueOf(rectf.left));
Log.d("right :", String.valueOf(rectf.right));
Log.d("top :", String.valueOf(rectf.top));
Log.d("bottom :", String.valueOf(rectf.bottom));
}
});
你需要使用.post()来设置布局