1

この問題は、タイトルよりも複雑です。サーバーからの値にマップするJavaクラスがあります。次のように、プログラムでテキストサイズを設定しています。

headerButton.setTextSize(Application.getAppResources().getDimensionPixelSize(R.dimen.manage_markets_text));

ディメンションの manage_markets_text を、レイアウトの場合は 15sp、values-xlarge の場合は 20sp、values-large ディメンションの場合は 18sp に設定します。現在、xlarge タブレットの場合、必要に応じて 20sp を取得していますが、htcone 電話の場合は、どこから取得したのかわからない大きなフォント サイズにマッピングされています (40-50sp のように見えます)。Pizelsize の代わりに getDimension を受け入れるようにコードを変更しましたが、まだ同じ問題があります。settextsize(r.dimen.manage_market_text) を設定すると、空白のページが表示されます。この問題を解決するにはどうすればよいですか? どんな手掛かり?

4

1 に答える 1

0

XMLでこれを設定したいと思うでしょう。

<Button
    ...
    android:textSize="@dimen/manage_market_text"
    ...
/>

また、values-xlarge の使用は少し時代遅れです。によると

http://developer.android.com/guide/practices/screens_support.html

values-sw600dp のようにファイルをフォーマットする必要があります。

元の質問に答えるには、単に書いてください

Resources res = this.getResources();
headerButton.setTextSize(res.getDimension(R.dimen.manage_market_text))

それはトリックを行う必要があります

于 2013-11-07T18:55:00.287 に答える