2016-08-23 7 views
0

私はアンドロイドアプリケーションを作成しました。アプリは完成しましたが問題です。このアプリを他のスマートフォンにインストールすると、通常画面に表示されているオブジェクトが重なっているか、元の位置にないです。 私のIDEは、単純な答えはありませんアンドロイドメーカー2.2私の携帯電話を変更すると、私のアプリは異なる縮尺になります

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 

    <pl.pawelkleczkowski.customgauge.CustomGauge 
     android:id="@+id/gaugePH" 
     android:layout_width="180dp" 
     android:layout_height="180dp" 
     android:paddingBottom="5dp" 
     android:paddingLeft="5dp" 
     android:paddingRight="5dp" 
     android:paddingTop="5dp" 
     app:gaugePointStartColor="@color/md_red_900" 
     app:gaugePointEndColor="@color/md_red_900" 
     app:gaugePointSize="5" 
     app:gaugeStartAngle="135" 
     app:gaugeStrokeCap="ROUND" 
     app:gaugeStrokeColor="@color/md_grey_400" 
     app:gaugeStrokeWidth="10dp" 
     app:gaugeStartValue="0" 
     app:gaugeEndValue="14" 
     app:gaugeSweepAngle="270" 
     android:layout_alignTop="@+id/gaugePressione" 
     android:layout_alignParentEnd="true" 
     android:layout_marginRight="10dp"/> 

    <pl.pawelkleczkowski.customgauge.CustomGauge 
     android:id="@+id/gaugePressione" 
     android:layout_width="180dp" 
     android:layout_height="180dp" 
     android:paddingBottom="5dp" 
     android:paddingLeft="5dp" 
     android:paddingRight="5dp" 
     android:paddingTop="5dp" 
     app:gaugePointStartColor="@color/md_blue_900" 
     app:gaugePointEndColor="@color/md_blue_900" 
     app:gaugePointSize="5" 
     app:gaugeStartAngle="135" 
     app:gaugeStrokeCap="ROUND" 
     app:gaugeStrokeColor="@color/md_grey_400" 
     app:gaugeStrokeWidth="10dp" 
     app:gaugeStartValue="0" 
     app:gaugeEndValue="15" 
     app:gaugeSweepAngle="270" 
     android:layout_marginTop="39dp" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginLeft="10dp"/> 

    <TextView 
     android:id="@+id/textPH" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="0.0" 
     android:textSize="30dp" 
     android:textStyle="bold" 
     android:layout_alignRight="@+id/textStrPH" 
     android:layout_marginTop="100dp"/> 

    <TextView 
     android:id="@+id/textPressione" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="0.0" 
     android:textSize="30dp" 
     android:textStyle="bold" 
     android:layout_alignRight="@+id/textStrPressione" 
     android:layout_marginTop="100dp" /> 

    <TextView 
     android:id="@+id/textStrPressione" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Bar" 
     android:textSize="30dp" 
     android:textStyle="italic" 
     android:layout_below="@+id/textPressione" 
     android:layout_alignLeft="@+id/gaugePressione" 
     android:layout_marginLeft= "70dp" 
     android:textColor="@color/md_black_1000"/> 

    <TextView 
     android:id="@+id/textStrPH" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="PH" 
     android:textSize="30dp" 
     android:textStyle="italic" 
     android:layout_alignRight="@+id/gaugePH" 
     android:layout_alignBottom="@+id/textStrPressione" 
     android:layout_marginRight= "70dp" 
     android:textColor="@color/md_black_1000"/> 

    <Button 
     android:id="@+id/goMaps" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Mappa" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentEnd="true" 
     android:layout_marginBottom="10dp" 
     android:layout_marginRight="10dp"/> 

    <TextView 
     android:id="@+id/textTemperatura" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="0.0" 
     android:textSize="30dp" 
     android:textStyle="bold" 
     android:layout_alignTop="@+id/textUmidita" 
     android:layout_alignRight="@+id/textStrPressione"/> 

    <TextView 
     android:id="@+id/textStrTemperatura" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="°C" 
     android:textSize="30dp" 
     android:textStyle="italic" 
     android:layout_marginLeft= "70dp" 
     android:textColor="@color/md_black_1000" 
     android:layout_alignRight="@+id/textPressione" 
     android:layout_alignTop="@+id/textTemperatura" 
     android:layout_marginTop="40dp" 
     android:layout_marginRight="10dp"/> 

    <TextView 
     android:id="@+id/textUmidita" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="0.0" 
     android:textSize="30dp" 
     android:textStyle="bold" 
     android:layout_alignRight="@+id/textPH" 
     android:layout_alignTop="@+id/gaugeUmidita" 
     android:layout_marginTop="60dp"/> 

    <TextView 
     android:id="@+id/textStrUmidita" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="%" 
     android:textSize="30dp" 
     android:textStyle="italic" 
     android:layout_marginLeft= "70dp" 
     android:textColor="@color/md_black_1000" 
     android:layout_marginRight="10dp" 
     android:layout_alignBaseline="@+id/textStrTemperatura" 
     android:layout_alignBottom="@+id/textStrTemperatura" 
     android:layout_alignEnd="@+id/textStrPH" /> 

    <pl.pawelkleczkowski.customgauge.CustomGauge 
     android:id="@+id/gaugeUmidita" 
     android:layout_width="180dp" 
     android:layout_height="180dp" 
     android:paddingBottom="5dp" 
     android:paddingLeft="5dp" 
     android:paddingRight="5dp" 
     android:paddingTop="5dp" 
     app:gaugePointStartColor="@color/md_red_900" 
     app:gaugePointEndColor="@color/md_red_900" 
     app:gaugePointSize="5" 
     app:gaugeStartAngle="135" 
     app:gaugeStrokeCap="ROUND" 
     app:gaugeStrokeColor="@color/md_grey_400" 
     app:gaugeStrokeWidth="10dp" 
     app:gaugeStartValue="0" 
     app:gaugeEndValue="100" 
     app:gaugeSweepAngle="270" 
     android:layout_alignTop="@+id/gaugeTemperatura" 
     android:layout_alignParentEnd="true" 
     android:layout_marginRight="10dp" /> 

    <pl.pawelkleczkowski.customgauge.CustomGauge 
     android:id="@+id/gaugeTemperatura" 
     android:layout_width="180dp" 
     android:layout_height="180dp" 
     android:paddingBottom="5dp" 
     android:paddingLeft="5dp" 
     android:paddingRight="5dp" 
     android:paddingTop="5dp" 
     app:gaugePointStartColor="@color/md_blue_900" 
     app:gaugePointEndColor="@color/md_blue_900" 
     app:gaugePointSize="5" 
     app:gaugeStartAngle="135" 
     app:gaugeStrokeCap="ROUND" 
     app:gaugeStrokeColor="@color/md_grey_400" 
     app:gaugeStrokeWidth="10dp" 
     app:gaugeStartValue="-20" 
     app:gaugeEndValue="50" 
     app:gaugeSweepAngle="270" 
     android:layout_marginTop="13dp" 
     android:layout_marginLeft="10dp" 
     android:layout_below="@+id/gaugePressione" 
     android:layout_alignParentStart="true" /> 

    <TextView 
     android:id="@+id/textImpianto" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Impianto:" 
     android:textSize="30dp" 
     android:textStyle="bold" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginLeft="10dp" 
     android:layout_marginBottom="10dp"/> 

    <TextView 
     android:id="@+id/textCodImpianto" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="0" 
     android:textSize="30dp" 
     android:textStyle="bold" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginLeft="145dp" 
     android:layout_marginBottom="10dp"/> 

</RelativeLayout> 
+0

'dp'ではなく' sp'をテキストサイズに使用してください。 –

答えて

0

でさまざまな画面サイズのドキュメントをサポート読み始めます。これらの値には密度画素であるdpがあります。画面が異なるため、画面上のピクセルも異なるため、これらの値は「動作しません」。

match_parent(親の中にできるすべてのスペースを埋める)またはwrap_contentを使用して、必要なスペースのみを使用するようにしてください。通常、幅はmatch_parentで、高さはwrap_contentです。

レイアウト上に複数の要素がある場合は、基本的に各要素に一定の割合を与える重みを使用することもできます。 android:weight = "1"の要素とandroid:weight = "2"の要素を想像してみてください。これらの要素はどちらも画面の「パーセンテージ」が異なります。

0

問題を引き起こしているビューは何ですか? @id/goMaps@id/textCodImpiantoまたは@id/textImpiantoですか?ここ は、Android Studioのエディタが(私はリソースを持つハードコードされたテキストを置き換えたら)それについて言いたいことです:画面サイズの変更(この場合は同じ効果)と

@id/goMaps can overlap @id/textCodImpianto if @string/_0, @string/mappa grow due to localized text expansion less... (Ctrl+F1) If relative layout has text or button items aligned to left and right sides they can overlap each other due to localized text expansion unless they have mutual constraints like toEndOf/toStartOf

代替テキストサイズの変更とあなたの意見の一部が重なったり移動したりする理由について、少なくとも1つの説明があります。

少なくとも、いくつかの制約がありません。

関連する問題