問題を解決するために何を検索するかについて、xmlまたはキーワードで解決策を知りたいです。
複数の画面があります。各画面には、フォルダー内に独自のxmlがありlayout
ます。たとえば、コードの一部:
<RelativeLayout
android:id="@+id/headerLayout"
android:layout_width="fill_parent"
android:layout_height="80dp"
android:background="@drawable/header" >
<Button
android:id="@+id/btBack"
android:layout_width="55dp"
android:layout_height="33dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:background="@drawable/bt_back"
/>
</RelativeLayout>
"@drawable/header"
ここで、がローテーションである場合に実行時の値を変更したいと思い ます。構成が適切であり、AndroidはJavaコードで私を変更しません。同じことが、フォルダー内
"@drawable/bt_back"
のbt_back.xml
ファイルでdrawable
あり、セレクターを持つ。彼のコンテンツはここにあります:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- selected state -->
<item android:drawable="@drawable/bt_back_pressed" android:state_pressed="true" android:state_selected="false"/>
<item android:drawable="@drawable/bt_back_pressed" android:state_pressed="false" android:state_selected="true"/>
<item android:drawable="@drawable/bt_back_pressed" android:state_pressed="true" android:state_selected="true"/>
<!-- unselected state (default) -->
<item android:drawable="@drawable/bt_back_normal"/>
</selector>
これで、drawable-hdpi、drawable-ldpiが必要なフォルダーに、これら2つのファイルを配置するだけで、Androidシステムは、ユーザーのデバイスのdpiに応じて、押された状態と通常の状態の画像の変更を自動処理します。
縦向きと横向きからの回転用のヘッダーにも同じものが必要です。たとえば、header_port.pngをheader-land.pngに変更する必要があります。
どうすれば可能ですか?何か案は?
ランドスケープ用に別の.xmlレイアウトを使用したり、Javaコードを調べたりすることはありません。たぶん、ここで説明されているヘッダーのリソースは別のフォルダーにありますか?港と土地?