Android 는 하위 View 의 위치 와 좌 표를 어떻게 가 져 옵 니까?
1.1,개요 보기
보기(View)는 용기 로 레이아웃 을 전담 합 니 다.TextView,LinearLayout 등 화면 에 표 시 된 다양한 보기 로 표 시 됩 니 다.
1.2,보기 분류
View 는 주로 두 가지 로 나 뉘 는데 구체 적 으로 다음 표 와 같다.
유별
예시
특징.
단일 보기
TextView,EditText 와 같은 보기
하위 뷰 포함 하지 않 음
보기 그룹
RelativeLayout 와 같은 여러 View 로 구 성 된 View Group 입 니 다.
하위 뷰 포함
1.3,View 클래스 소개
View 클래스 는 Android 의 각종 구성 요소 의 기본 클래스 입 니 다.
View 의 구조 함 수 는 네 가지 가 있 는데 구체 적 으로 다음 과 같다.
public View(Context context) {
}
public View(Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0);
}
public View(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
this(context, attrs, defStyleAttr, 0);
}
public View(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
}
소스 코드 에서 View 의 구조 함수원본 코드 의 주석 을 통 해 우 리 는 알 수 있다.
Android 좌표계 와 수학 적 좌표계 가 다 릅 니 다.정 의 는 다음 과 같 습 니 다.
4.567917.화면의 왼쪽 상단 은 좌표 원점 이다4.567917.오른쪽으로 x 축 증대 방향 이다
3.View 의 위치
View 의 위 치 는 부모 컨트롤 에 비해 4 개의 정점 에서 확 정 됩 니 다.다음 그림 A,B,C,D 와 같 습 니 다.
View 의 위 치 를 확인 하 는 데 네 개의 매개 변수 가 있 는데 그것 이 바로 Top,Bottom,Left,Right 이다.
4.View 위 치 를 가 져 오 는 방법
View 의 위 치 는 getTop(),getLeft(),getBottom(),getRight()함 수 를 통 해 얻 을 수 있 습 니 다.
여기 서 나 는 이 네 가지 방법 을 보 여 주 는 작은 예 를 썼 다.다음 과 같다.(내부 서브 View 의 위 치 를 가 져 오기)
View 의 위 치 를 보 여주 기 위해 서 입 니 다.모든 저 는 절대적 인 구 조 를 사용 하고 크기 의 단 위 는 px 를 사용 합 니 다.구체 적 인 구 조 는 다음 과 같 습 니 다.
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<RelativeLayout
android:id="@+id/rl_1"
android:layout_width="600px"
android:layout_height="600px"
android:layout_x="200px"
android:layout_y="200px"
android:background="@color/colorPrimaryDark">
<View
android:id="@+id/view"
android:layout_width="300px"
android:layout_height="300px"
android:layout_centerInParent="true"
android:background="@color/colorAccent" />
</RelativeLayout>
</AbsoluteLayout>
우 리 는 지금 네 가지 방법 으로 View 의 위 치 를 얻 습 니 다.구체 적 인 코드 는 다음 과 같 습 니 다.
public class CoordinateActivity extends AppCompatActivity {
private View mView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_coordinate);
rl1 = findViewById(R.id.rl_1);
mView = findViewById(R.id.view);
}
@Override
protected void onResume() {
super.onResume();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
MyLogUtils.i(mView.getTop() + "--Top --mView");
MyLogUtils.i(mView.getBottom() + "--Bottom --mView");
MyLogUtils.i(mView.getLeft() + "--Left --mView");
MyLogUtils.i(mView.getRight() + "--Right --mView");
MyLogUtils.i(mView.getX() + "--X --mView");
MyLogUtils.i(mView.getY() + "--Y --mView");
}
}, 200);
}
}
인쇄 결 과 는 다음 과 같다.가장 바깥쪽 보라색 View 의 좌 표 는(200,200)이 고 크기 는 600 px 입 니 다.그 내부 에 300 px 크기 의 하위 View 가 그 중심 에 있 기 때문에 상기 인쇄 결 과 는 완전히 정확 합 니 다.
주의:
안 드 로 이 드 가 하위 뷰 의 위치 와 좌 표를 어떻게 가 져 오 는 지 에 관 한 글 은 여기까지 입 니 다.더 많은 안 드 로 이 드 가 하위 뷰 의 위치 와 좌 표를 가 져 오 는 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.