-1

私は、webview で Web ページを取得するこの Android アプリを開発しており、画面の上部にこのバナーがあります。縦向きレイアウトでは目立ちませんが、横向きレイアウトでは画面の上半分近くを占めます。

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/header"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#EAC117"
        android:textSize="35sp" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:src="@raw/firstintentlogo"
        android:layout_weight="1" android:contentDescription="@string/headLogoName"/>



 </LinearLayout> 

Javaファイルで「電話が横向きモードの場合、このlinearLayoutを非表示にします」と言う方法がわかりません。

助言がありますか?

4

3 に答える 3

3

あなたのアクティビティで onConfigurationChanged をオーバーライドします

@Override
public void onConfigurationChanged(Configuration newConfig)
{
    if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
    {
        //TODO
    }
    super.onConfigurationChanged(newConfig);
}
于 2013-09-13T20:15:28.347 に答える
2

変更を自分で処理する場合は、 に追加して をにonConfigurationChanged()設定できLayoutます。visibilitygone

OSに構成の変更を処理させる場合は、layouts向きに応じて個別に作成できます。layout縦向きの をフォルダーに入れ、layout別のフォルダーを作成して、デバイスが横向きのときにそのフォルダーでlayout-landを使用することを OS が認識できるようにします。layoutorientation

構成修飾子の使用

ほとんどの場合、ドキュメントで推奨されていない構成変更を手動で処理する

システムが構成の変更を処理できるようにする

于 2013-09-13T20:14:11.653 に答える
1

これを試して

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);

        //check config
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
    linearLayout.setVisibility(View.GONE); //set visibility of linearLayout as Gone
    Toast.makeText(this, "mode landscape", Toast.LENGTH_SHORT).show();
    }

    }

これがうまくいくことを願っています

于 2013-09-13T20:14:57.627 に答える