Android 화면 Starter

4561 단어 android-개발
어떻게 안드로이드 화면이 잘 어울릴 수 있는지 제 생각과 비교해 보겠습니다. 주로 다음과 같은 몇 가지 절차로 나뉜다.
1. 설계도의 사이즈를 정하고 ui 설계도를 작성하면 먼저 당신이 해야 할 일은 설계도의 사이즈를 보는 것입니다. 유니버설 사이즈가 맞는지 확인하는 것입니다. 만약에 그림의 크기가 735*888이라면 이런 그림은 흔히 볼 수 있는 설비가 아니기 때문에 디자이너에게 비교적 적합한 사이즈를 다시 만들어 주는 것이 좋습니다. 예를 들어 720*1280입니다. 물론 그가 고치려 하지 않는다면그래도 어쩔 수 없어요. 그럼 계속 내려가세요.
2: 그림을 확인한 후 디버깅 장치에 따라 대응하는dimen을 생성합니다.xml 파일
1: 장치 dpi 가져오기
        public static float getDpi(Context context){            WindowManager wm = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);            DisplayMetrics dm = new DisplayMetrics();           wm.getDefaultDisplay().getMetrics(dm);           return dm.densityDpi;         }
2: dimens 생성xml, 차 함수의 매개 변수는 각각 장치의 넓이, 장치의 높음, 장치의 dpi값이다.
public static String getDimenResourceDpi(int width,int height,float densityDpi){
    StringBuilder sb = new StringBuilder();
    int size = Math.max(width,height);
    sb.append("");
    sb.append("
"); for (int i = 1; i <=size;i++){ sb.append("\t\""); sb.append("px_"); sb.append(i); sb.append("\""); sb.append(">"); sb.append((float) (i) * 160f / densityDpi); sb.append("dp
"); } sb.append(""); return sb.toString(); }

3: 단원 테스트에서나 자바 프로그램 출력dimen을 직접 작성합니다.xml
    @Test     public void createDimenXMl()throws Exception{         String content = PhoneDevice.getDimenResourceDpi(780,1280,213);         FileManager.writeFile(new File("H:\\dimens.xml"),content);     }
생성된 파일을values에 복사해서 사용합니다. 이렇게 설계도에서 화면 넓이를 차지하는 사이즈를 모두 matchparent 그렇지 않으면 우리가 생성한dimen의 값으로 바꿉니다
설계도 폭이 300px이면layoutwidth="@dimen/px_300"
이렇게 하면 실제적으로 dp를 사용하여 어댑터를 할 수 있고 현재 설비와 정확한 값이다. 이렇게 하면 설계도 해상도 크기가 일치하는 설비에 도달하고 1px까지 정확하다. 다른 서로 다른 해상도에서 dp를 사용하여 어댑터를 하기 때문에 효과의 차이가 크지 않고 설계도와 기본적으로 일치하지 않는다.일부 화면의 넓이와 높이가 비교적 특수한 경우 특수 처리만 할 수 있다. 특정한 사이즈의 레이아웃 파일을 새로 만들면 해결할 수 있다. 높이가 부족한 상황에서 scrollview를 사용하여 높이가 부족한 내용을 표시하는 장치의 레이아웃을 교체하면 대체적으로 이렇다.
시장에서 기본적으로 핸드폰의 해상도는 몇 가지 주류인데 이 몇 가지 주류 기종에 정확하게 어울린다. 그러면 나머지 기종은 어울리지 않아도 운행하는 효과가 크게 다르지 않고 적당한 효과에 도달한다. 물론 이런 방법도 완전히 해결할 수 없다. 단지 비교적 간단하고 제3자 라이브러리의 방식과 설비를 사용하지 않는다.예를 들어 신을 널리 알리는 백분율 레이아웃 autoLayout은 좋지만 매번 레이아웃을 쓸 때com이 나오는 것을 좋아하지 않는다.zhy.xxxx라는 글자, 그렇죠, 그리고 다른 사람이 쓴 라이브러리가 없으면 안 돼요. 잘 어울리지 않을 거예요. 수준이 제한되어 있어요. 여러분들의 지적을 환영합니다. 제가 고칠게요.

좋은 웹페이지 즐겨찾기