横屏显示时,两边透明到桌面,中间app显示

1.首先xml,设置让布局居中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_centerInParent="true"
    android:layout_gravity="center_horizontal"
    android:background="#ffffffff"
    tools:context="com.example.haha.MainActivity" >

    <LinearLayout
        android:id="@+id/main_layout"
        android:layout_width="60dp"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_centerInParent="true"
        android:background="#300030"
        android:orientation="vertical" >

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

            <TextView
                android:layout_width="match_parent"
                android:layout_height="48dp"
                android:layout_weight="3"
                android:gravity="center_vertical"
                android:paddingLeft="16dp"
                android:text="内容"
                android:textColor="#665555" />
    </LinearLayout>

</RelativeLayout>

2.计算屏幕宽高比例

        LinearLayout mainLayout = (LinearLayout) findViewById(R.id.main_layout);
        DisplayMetrics metric = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metric);
        int width = metric.widthPixels; // 屏幕宽度(像素)
        int height = metric.heightPixels; // 屏幕高度(像素)

3.设置中间布局宽度
        LayoutParams layoutParams = mainLayout.getLayoutParams();
        layoutParams.width=width/2;
        layoutParams.height=height;
        mainLayout.setLayoutParams(layoutParams);

4.设置actvity透明

第一种方法

       <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

第二种方法

(1)在res/values文件夹下,新建一个style.xml文件,写入下面的代码

(2)<style name="translucent"> <item name="android:windowBackground">@color/translucent_background</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item> </style>

(3)activity设置android:theme="@style/translucent"

猜你喜欢

转载自blog.csdn.net/liangningzhen/article/details/84826537