0

こんにちは、私はすべてのサイズのモバイルとタブレット用にAndroidで1つのアプリを実行しています.imageviewsはすべてのサイズで表示されます.でも、テキストビューのフォントサイズで問題に直面しています.サイズが正しく表示されていません。アイデアのある方は助けてください。以下のコードを使用してみました...

MainActivity .class

 public class MainActivity extends Activity {
 float screenHeight,screenWidth,screendensity;
 RelativeLayout alpha_page2;
 ImageView alpha_back,alpha_back1;
 TextView option121;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    DisplayMetrics displaymetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
     screenHeight = displaymetrics.heightPixels;
     screenWidth = displaymetrics.widthPixels;
     screendensity = displaymetrics.densityDpi;
     Log.i("screenHeight",""+screenHeight);
     Log.i("screenWidth",""+screenWidth);
     Log.i("screendensity",""+screendensity);
    setContentView(R.layout.activity_main);

    int letpading=(int)(116*(screenWidth/1024));
    int toppading=(int)(79*(screenHeight/600));

    int textsiz=(int)(50*(screendensity/600));
    option121 = (TextView)findViewById(R.id.text1);
    option121.setBackgroundResource(R.drawable.dog_b_blank);
    option121.setText("A");
    option121.setText(Color.BLACK);
    RelativeLayout.LayoutParams layoutoption121 = (RelativeLayout.LayoutParams) option121.getLayoutParams();       
    layoutoption121.height=(int)(180*(screenHeight/600));  
    layoutoption121.width=(int)(180*(screenWidth/1024));
    layoutoption121.topMargin=(int)(100*(screenHeight/600));
    layoutoption121.leftMargin= (int)(250*(screenWidth/1024));
    option121.setPadding(letpading, toppading, 0, 0);

    option121.setTextSize(textsiz);
    }

}
4

1 に答える 1

0

それはそれを行う方法ではありません。Android はテキスト サイズを自動的に処理します。テキスト サイズを指定するときは「sp」(スケールに依存しないピクセル)単位を使用します。異なる画面に異なるサイズを設定する必要がある場合は、次の記事を参照してください。

複数画面のサポート

基本的に、適切なリソース ディレクトリの .xml ファイルでテキスト サイズを定義する必要があります。

res/values-large res/values-xlarge など..

次に、レイアウト xml またはコードでこれらの定数を参照します。

于 2012-10-09T09:13:02.577 に答える