問題タブ [android-screen-support]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - デバイスの画面サイズに基づいて特定の xml レイアウト ファイルを読み込む方法は?
私はこの開発者リンクで利用可能なこれらの手順を試しました
解像度1024x768のデバイスまたはデフォルトのxmlファイルをロードする必要があるres/layout-w1024dp-h768dp/activity_main.xml
ため、AVDを構成すると、プロジェクトエクスプローラーは次のようになります
私はすべて試してみましたが、その仕様のAVDでは動作しません..誰か助けてください...
ここにマニフェストファイルがあります
android - マニフェスト画面は、デバイスのみおよびタブレットのみのエントリをサポートします
タブレットではなくデバイスのみをサポートするAndroidアプリケーションのマニフェストエントリはどうあるべきですか。デバイスのサイズはさまざまですが、最大は7インチである必要があります。
デバイスとタブレット用に異なるビルドのアプリケーションを開発しました。両方のビルドを市場に投入したいと考えていますが、次のマニフェストエントリは10インチタブレットもサポートしています。
このビルドを10インチタブレットにダウンロードするようにユーザーを制限したいのですが、10インチタブレットビルドを10インチタブレット以外にダウンロードしないでください。
このための完璧なマニフェストエントリを提案してください。
android - Android のさまざまなポートレート レイアウト
最初は、縦向きモードでのみ携帯電話用のアプリケーションを開発しました。しかし今、それをタブレットにも移行したいと考えていますが、縦向きモードのみです。私の質問は、さまざまな画面サイズのポートレート モードにさまざまなレイアウトを定義できるかということです。タブレットでも動作しますが、UI が拡張されています。はいの場合、どのように..? 誰かが例を挙げることができれば。
android - GS3 の画面密度
次の点がわかりません。
- Samsung Galaxy S3 は、4.8 インチの画面サイズで 720px x 1280px を表示します
- したがって、画面密度は 305dpi に評価できます
- Android画面対応推奨ページでは、「xhdpi」修飾子に対応する305dpi
私の質問は、GS3 で実行されているアプリが "mdpi" 修飾子からリソースを取得するのはなぜですか?
更新として、私のコードを参照してテストしてください。
main.xml :
フォルダ内のstrings.xml {" values "," values-ldpi "," values-mdpi "," values-hdpi "," values-xhdpi "}
ここで、" [x] " はそれぞれ {" default "、" ldpi "、" mdpi "、" hdpi "、" xhdpi "} です。
結果は app show " mdpi " text resource です
新しい更新として、次のことをテストしました。
- 「values-xhdpi」フォルダーの名前を「values-normal-xhdpi」に変更します
結果:「xhdpi」
- 「values-xhdpi」フォルダーの名前を「values-normal-xhdpi」に変更します
- 「values-hdpi」フォルダーの名前を「values-normal-hdpi」に変更します
結果:「hdpi」
- 「values-xhdpi」フォルダーの名前を「values-normal-xhdpi」に変更します
- 「values-hdpi」フォルダーの名前を「values-normal-hdpi」に変更します
- 「 values-mdpi」フォルダーの名前を「 values-normal-mdpi」に変更します
結果: " mdpi "
- 「values-xhdpi」フォルダーの名前を「values-normal-xhdpi」に変更します
- 「values-hdpi」フォルダーの名前を「values-normal-hdpi」に変更します
- 「 values-mdpi」フォルダーの名前を「 values-normal-mdpi」に変更します
- 「values-ldpi」フォルダーの名前を「values-normal-ldpi」に変更します
結果: " mdpi "
結果がわかりません。なぜ、システムはより選択的ではなく、より選択的でないリソース (「mdpi」最小値) を選択するのですか?
android-screen-support - Android で複数のデバイスをサポートする
私はアンドロイド開発が初めてです。アプリケーションを複数の解像度で実行したい。ドキュメント、いくつかのスタックオーバーフローの投稿を調べました。複数のレイアウトを作成することになります。私が自分のプロジェクトで行ったこと。ここに私のレイアウト構造があります:
- レイアウト-通常-mdpi
- レイアウト-ノーマル-hdpi
- レイアウト-通常-xhdpi
- レイアウト-大-mdpi
- レイアウト-大-hdpi
- レイアウト-大-xhdpi
私の描画可能なフォルダー構造は
- drawable-ldpi
- drawable-mdpi
- ドローアブル hdpi
- ドローアブル-xhdpi
追加した
私のマニフェストファイルで。mdpi デバイスで見栄えがします (すべてでテストされているわけではありません)。Htc-epxlorer でテスト済み。Sony xperia arc s hdpi デバイスと htc one v でテストしましたが、良さそうです。しかし、Samasung galaxy Note と Note 2 に関しては、完全にめちゃくちゃです。最終的に、layout-large-port-xhdpi-1280x800 のようなレイアウト フォルダーを作成するためのソリューションが完成しました。これは機能しますが、良い習慣ではないと感じています。解像度の画像があります(ポートモード)
- mdpi の場合: 480X320
- hdpiの場合:800X480
- xhdpi の場合: 1280X800
Galaxy nexsus 4.65インチ(720p)でも。違う感触を与えてくれます。基本的に私が知りたいのは、異なる密度の画像解像度はどうあるべきかということです? 異なるデバイスのレイアウトフォルダ構造はどうあるべきですか?.4in nexsus と 4.6in nexsus で言ったように、画像を追加すると異なるように見えるため、異なるインチデバイスでは異なる外観になります。タブレットでも解像度は 1280X800 です。同じ解像度でも画面サイズが変わるだけでうまくいかないのはなぜですか? 注: 私は RelativeLayout をレイアウトとして使用しており、ハードコードされたピクセル値はすべて dp ではありません。どんな助けでも大歓迎です。前もって感謝します。
android - Android の dip/dp によるマルチスクリーン サポート?
XML ファイルで、ボタンまたはテキスト ビューの幅を 100 ディップ、高さを 30 ディップと定義しているとします。私が知っているように、Android自体は、dipでディメンションを定義したように、ldpi、mdpi、またはhdpiデバイス間で比例または同じボタンまたはテキストビューの外観を処理します。これは、マルチスクリーン サポートを提供する場合の推奨事項の 1 つです。私の質問は、 dipは、同じ幅と高さを持つ ldpi、mdpi、または hdpi デバイスを処理する場合にのみ有用ですか、それはすべて 320X480 またはすべて 400X840 を意味するのか、それとも複数の画面サイズでサポートされているのかということです。 、マニフェスト ファイルに true のすべての画面サポートを追加した後、Android システム自体がウィジェット サイズを 200X60 ディップから 700X1024 デバイスに再計算します。
複数の画面サイズでdipが機能しない場合(デバイスの物理サイズが異なる場合)、デバイスごとに個別のレイアウト ファイルを作成する必要があります。この場合、線形レイアウトで複雑なレイアウトをいくつかの重みで定義することはできません。違う。代替案はありますか、私に提案してください。前もって感謝します。
android - Androidリソース選択のレイアウトと値の不一致
私が経験している問題は、特定のアクティビティのlayout
XMLに選択されているリソースバケットが、values
フォルダーの各セットでまったく同じリソース修飾子が使用されているにもかかわらず、フォルダーから選択されているリソースと矛盾していることを示しています。
例
アプリケーションの抽象的な親アクティビティ内にログコードを配置した後、Nexus 7タイプのエミュレーター(Android 4.1)でアプリケーションを起動すると、最小幅は実際に600dpであり、layout-sw600dp-*
フォルダーはアクティビティのUIをフェッチするために使用されていますが、に使用されているフォルダvalues
はですvalues-large-*
。values-sw600dp-*
このようにして、アクティビティが実行されているリソースバケットに関する重要な情報が提供されることを期待していました。
android.app.Activity
すべてのアプリの親アクティビティ内でロギングを実行するコード
Nexus7タイプのデバイスでこのコードを実行したときのログ出力。
私はあなたが何を考えているか知っています-そのレイアウト-広大な土地の派生はどこから来たのですか?読む...
バックグラウンド
ここで概説したアプローチを試しています。これにより、実行時に使用中のリソースバケットを検査できます。基本的に、私が実装したアプローチには、次のようなリソース修飾子の構造があります。
したがって、基本的にvalues
修飾子は修飾子の修飾子を反映しlayout
ます。各フォルダーの下に、コンテンツでvalues-*
呼び出される単一のXMLファイルを定義しました。device-config.xml
したがって、たとえば、values-sw600dp-land
フォルダdevice-config.xml
には値が.の単一の文字列が含まれますlayout-sw600dp-land
。ここでの目的は、画面に表示されているリソースレイアウトとコードの同期を維持することです。これは、不動産が関係しているために表示されたレイアウトに存在しないアイテムが「idで検索」されないようにするために必要です。
(オプション)私がこれを行っている理由のより深い推論
実行時に使用されているバケットを知りたいというより深い理由は、私の単一フラグメントのすべての構成コードが、透過的ではなく、多くの場合、他のレイアウト...ある種のフラグメント継承が必要であるかのようでした...リンクをたどると、まさに私が行ったことです。これの欠点は、フレームワークにx、y、またはzフラグメントをインスタンス化するように指示する前に、使用している画面を知る必要があることです。作成されるフラグメントがレイアウトと同期しなくなることはありません。膨らませることを意味します。この継承は機能し、はるかに管理しやすいフラグメントスタックを可能にします(Sonarも幸せです。これは素晴らしいことです)。
概要
ただし、フレームワークが選択するレイアウトフォルダーと値フォルダーの間のこの明らかな不一致によって私は妨げられました。layout-sw600dp-land
それぞれが同じ修飾子を持っているので、 UI XMLを利用するアクティビティがvalues-sw600dp-land
リソースを使用しないのはなぜ ですか?上でリンクしたSOディスカッションに投稿された潜在的な解決策の中で最も近いものだったので、何か問題があったことを願っています。
android - 複数の画面をサポートする最善の方法は? - アンドロイド
私は数か月前からアプリの開発に取り組んでおり、リリースの準備が整っています。もう 1 つやるべきことがあります。それは、複数の画面をサポートすることです。Android 開発者向けドキュメントを何度も読みましたが、これを実装する最善の方法についてはまだ混乱しています。
サポートしたい画面の種類と解像度ごとに複数のレイアウト ファイルを作成する必要がありますか? その場合、解像度ごとに複数の画像をレンダリングする必要があり、誰かがダウンロードするのは面倒です。
高度なヘルプをありがとう!
android - Androidレイアウトスケーリング
AndroidマニフェストファイルのターゲットSDKバージョンを「3」に設定すると、大画面デバイスのレイアウトは、小画面デバイスのレイアウトを拡大したものになります。ターゲットSDKをより高いSDKに設定すると、画面密度ごとに個別のレイアウトを作成できるため、ユーザーエクスペリエンスが大幅に向上します。
ただし、私のレイアウトは主に画像で構成されています。画像は十分に大きいため、拡大する必要がないため、拡大してもすべての画面サイズで問題なく表示されるほどの高解像度です。さて、大画面でも見栄えがするので、小画面のレイアウトを作成して拡大する方がはるかに簡単です。APIレベル3に戻らずにその効果を得る方法はありますか?
android - Androidでさまざまな画面をサポートするさまざまなレイアウト
さまざまな画面をサポートするためにさまざまなレイアウトを使用する場合、dpまたはpxを使用する必要があります。