您好我想使熱點的形象,但問題是,當屏幕尺寸變化的熱點位置也得到了改變像映射在Android
我已經做以下的事情到現在爲止
貝婁是我的佈局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="myapp.imagemappingdemo.MainActivity">
<FrameLayout
android:layout_width="7000pt"
android:layout_height="5000pt">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/bolt_int"
android:text="Hello World!" />
<RelativeLayout
android:id="@+id/upperView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
>
</RelativeLayout>
</FrameLayout>
我正在使用以下代碼來繪製圖像。
screenWidth = this.getResources().getDisplayMetrics().widthPixels;
ImageView btn = new ImageView(MainActivity.this);
RelativeLayout.LayoutParams bp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
bp.leftMargin = (int) (774.6667);
bp.topMargin = (int) (413.25);
btn.setLayoutParams(bp);
btn.setImageResource(R.drawable.ic_stat_name);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "Button Click", Toast.LENGTH_LONG).show();
}
});
upperview.addView(btn, bp);
我想弄清楚我會如何使用相同的計算不同的屏幕上準確位置(X,Y)座標任何一個可以幫助我這樣做是什麼屏幕之間的關係無論屏幕大小如何,高度和寬度以及(X,y)座標
您應該瞭解有關響應式佈局的原因,因爲在這種情況下,您無法獲得準確位置的熱點是因爲在切換手機時父母大小會發生變化。 –
究竟你想要那個熱點?在imageview中間? –
不,它可能在任何時候。 –