Android의 다양한 화면 해상도에 대한 고정 된 위치에서 컨트롤을 어떻게 표시합니까?

StackOverflow https://stackoverflow.com/questions/1946480

  •  20-09-2019
  •  | 
  •  

문제

Android의 다양한 화면 해상도에 대한 고정 된 위치에서 컨트롤을 어떻게 표시합니까?

아래와 같은 화면 디자인이 있습니다

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:gravity="center_horizontal"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical"
   android:background="@drawable/img_background_loadbackground">
<TableRow>
<TextView
   android:id="@+id/tv1"
   android:layout_width="fill_parent" 
   android:layout_height="300sp"/>
</TableRow>

<TableRow>
</TableRow>
<ProgressBar 
   android:id="@+id/progressbar" 
   style="?android:attr/progressBarStyleHorizontal" 
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content" />
</TableLayout>

HVGA (320x480) 해상도에서 작동하고, ProgressBar는 화면 하단에 나타나지만 다른 해상도 (WQVGA432-240x432)로 실행되면 ProgressBar가 화면 중간에 나타납니다. 고정 된 위치로 보여줄 수 없습니다.

아래에 매니페스트 파일 쇼를 사용하고 있지만 출력은 없습니다.

<supports-screens android:smallScreens="true"  
                android:normalScreens="true" 
                android:largeScreens="true"  
                android:anyDensity="true" />

해결책이 없으므로 문제를 해결할 아이디어를 알려주십시오.

도움이 되었습니까?

해결책

레이아웃이 다른 해상도 화면에서 작동하도록하려면 사용하여 크기를 조정해야합니다. dip 장치로. 예를 들어:

android:layout_marginRight="10dip"

dip 장치 독립 픽셀을 나타내며 레이아웃에서 이들을 사용한다는 것은 Android가 응용 프로그램을 실행하는 장치가 어떤 표시를하는지에 따라 레이아웃을 자동으로 스케일링 함을 의미합니다.

당신은 이것에 대해 읽을 수 있습니다 여러 화면 지원 Android 개발자 문서의 페이지. 이 문서에는 다른 디스플레이를 처리하기위한 다른 옵션도 있지만 사용한다고 생각합니다. dip 아마도 가장 쉬운 일입니다.

다른 팁

레이아웃을 정의한 방법에 따라 다릅니다. 레이아웃을 게시하면 여기에서 도움이됩니다.

나는 그것이 중간에 있다면 당신은 다음과 같은 것을 가지고 있다고 생각합니다.

android:layout_gravity="center"

그러나 예, XML을 게시하는 것은 약간 도움이 될 것입니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top