Android 煩人的座標原點


[android] <wbr>「座標」相關的一些故事 <wbr>*Q*

屏幕的左上角是系統座標原點(0,0),包括標題欄,通知欄高度。android

getTop:獲取到的,是view自身的頂邊到其父佈局頂邊的距離canvas

getLeft:獲取到的,是view自身的左邊到其父佈局左邊的距離佈局

getRight:獲取到的,是view自身的右邊到其父佈局左邊的距離this

getBottom:獲取到的,是view自身的底邊到其父佈局頂邊的距離spa


getX():獲取點擊事件相對控件左邊的x軸座標,即點擊事件距離控件左邊的距離orm

getY():獲取點擊事件相對控件頂邊的y軸座標,即點擊事件距離控件頂邊的距離事件

getRawX():獲取點擊事件相對整個屏幕左邊的x軸座標,即點擊事件距離整個屏幕左邊的距離ci

getRawY():獲取點擊事件相對整個屏幕頂邊的y軸座標,即點擊事件距離整個屏幕頂邊的距離。系統座標原點。get


c.getLocationInWindow():座標原點在Bit

c.getLocationOnScreen():座標原點在A,系統座標原點。


1、new HelloViewView的原點:

  /**

     * 初始化繪製線的畫筆

     * */

    public void initLinePaint(){

       linePaint = new Paint();

       // 設置畫筆

       linePaint.setColor(Color.GREEN);

       linePaint.setAntiAlias(true);

       linePaint.setStrokeWidth(5);    // 設置線寬

    }

    /**

     * 繪製View

     * */

    protected void onDraw(Canvas canvas){

       Log.v("onDraw(Canvas canvas)","" + this.getHeight()+ "   " + this.getWidth());

       canvas.drawColor(Color.WHITE);

       initLinePaint();  // 初始化畫筆

       myUseBitmapFactory(canvas);

       canvas.drawLine(0, 0, this.getWidth(), this.getHeight(), linePaint);

    }

   

     運行:

              

2、使用XML中佈局文件時的View原點:

/**

 * 使用自定義的View

 * */

public class MainActivity extends Activity {

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);// 使用自定義的View

    }

}

這裏直接給出運行結果圖:

              

相關文章
相關標籤/搜索