橫屏顯示時,兩邊透明到桌面,中間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"