當前位置:首頁 » 安卓系統 » android設置activity透明

android設置activity透明

發布時間: 2022-09-08 02:25:32

⑴ android中怎樣把背景透明

實現方式一(使用系統透明樣式)
通過配置 Activity 的樣式來實現,在 AndroidManifest.xml 找到要實現透明效果的 Activity,在 Activity 的配置中添加如下的代碼設置該 Activity 為透明樣式,但這種實現方式只能實現純透明的樣式,無法調整透明度,所以這種實現方式有一定的局限性,但這種方式實現簡單。
android:theme="@android:style/Theme.Translucent"

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

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

實現方式二(使用自定義透明樣式)
這種方式的實現同樣要配置 Activity 的樣式,只不過這里的樣式是我們自定義的。具體實現過程如下:
1 在 res/values/color.xml 文件下加入一個透明顏色值,這里的 color 參數,是兩位數一個單位,前兩位數是透明度,後面每兩位一對是16進制顏色數字,示例中為白色。
<?xml version="1.0" encoding="utf-8"?>
<resources>

<color name="translucent_background">#80000000</color>

</resources>

2 在 res/values/styles.xml 文件中加入一個自定義樣式,代碼如下。

<!-- item name="android:windowBackground" 設置背景透明度及其顏色值 -->
<!-- item name="android:windowIsTranslucent" 設置當前Activity是否透明-->
<!-- item name="android:windowAnimationStyle" 設置當前Activity進出方式-->
<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 在 AndroidManifest.xml 找到要實現透明的 Activity,在想要實現透明的 Activity 中配置其屬性,代碼如下;也可在該 Activity 的 onCreat() 方法中調用 setTheme(R.style.translucent) 來實現。

<activity
android:name="cn.sunzn.transact.MainActivity"
android:label="@string/app_name"
android:theme="@style/translucent" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

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

⑵ android studio activity怎麼設置透明背景

Android studio在Manifest.xml中找到對應的activity在裡面加上android:theme="@android:style/Theme.Translucent"即可背景透明,如果還想取消標題欄和全屏的畫可以將style/改為Theme.Translucent.NoTitleBar.Fullscreen

⑶ android怎麼將彈出窗口透明

1. 在res/values 下建立color.xml
<resources>
<color name="transparent_background">#80ffffff</color>
</resources>
PS: #80是透明度的值(即80%透明),ffffff是顏色值(為黑色)
2. 在res/values下建立style.xml
<resources> <style name="Transparent" parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@color/transparent_background</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item> </style></resources>
PS: parent="android:style/Theme.Dialog" 是將activity設置為彈出式窗口
3. 在AndroidManifest.xml中找到要彈出的activity,加入theme:
<activity android:name="ActivityName" android:theme="@style/Transparent" />完成上面設置後,你的activity就已經是透明的了,但是該Activity中的控制項還沒有透明,如果還需要控制項透明,則需要在該activity的代碼中加入如下代碼:
//設置activity中的控制項透明 Window window = getWindow(); WindowManager.LayoutParams wl = window.getAttributes(); wl.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; wl.alpha=0.95f;//設置透明度,0.0為完全透明,1.0為完全不透明 window.setAttributes(wl);

⑷ 怎樣通過代碼實現設置Activity背景為透明的,不是通過配置XML文件,是用代碼實現。

-----------------------------FirstActivity.java--------------------------------

packagecom.self;

importandroid.app.Activity;

importandroid.content.Intent;

importandroid.graphics.Color;

importandroid.os.Bundle;

importandroid.view.Gravity;

importandroid.view.View;

importandroid.widget.Button;

importandroid.widget.LinearLayout;

importandroid.widget.TextView;

{

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

//通過代碼創建布局

LinearLayoutlayout=newLinearLayout(this);

layout.setOrientation(LinearLayout.VERTICAL);

layout.setGravity(Gravity.CENTER_VERTICAL);

//添加文本

TextViewtextView=newTextView(this);

textView.setText("我是背景,我是背景,我是背景,我是背景,我是背景"+

"我是測試背景");

textView.setTextColor(Color.RED);

layout.addView(textView);

//添加按鈕

Buttonbutton=newButton(this);

button.setWidth(100);

button.setHeight(60);

button.setText("打開TestActivity");

button.setOnClickListener(newView.OnClickListener(){

publicvoidonClick(Viewv){

Intentintent=newIntent(FirstActivity.this,TestActivity.class);

startActivity(intent);

}

});

layout.addView(button);

layout.setBackgroundColor(Color.BLUE);

setContentView(layout);

}

}

--------------------------------TestActivity.java-------------------------------------------

packagecom.self;

importandroid.app.Activity;

importandroid.content.res.Resources;

importandroid.graphics.Color;

importandroid.graphics.drawable.Drawable;

importandroid.os.Bundle;

importandroid.view.Gravity;

importandroid.view.Window;

importandroid.widget.LinearLayout;

importandroid.widget.TextView;

{

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

Resourcesres=getResources();

Drawabledrawable=res.getDrawable(R.drawable.nocolor);////注意該nocolor圖片是透明的

this.getWindow().setBackgroundDrawable(drawable);

//通過代碼創建布局

LinearLayoutlayout=newLinearLayout(this);

layout.setOrientation(LinearLayout.HORIZONTAL);

layout.setGravity(Gravity.CENTER_VERTICAL);

//添加文本

TextViewtextView=newTextView(this);

textView.setText("我是上一層的文字啊,我是上一層的文字啊,我是上一層的文字啊");

textView.setTextSize(30);

textView.setTextColor(Color.GREEN);

layout.addView(textView);

setContentView(layout);

}

}

效果圖:

⑸ 強制將activity設為可調整大小

具體做法和dialog窗口的設置類似,只需要在onCreate方法中,加入下列代碼,既可以控制大小
Andriod中自定義Dialog樣式的Activity點擊空白處隱藏軟體盤(Dialog不消失)一.需求觸發場景:項目中需要出發帶有EditText的Dialog顯示,要求在編輯完EditText時,點擊Dilog的空白處隱藏軟鍵盤.但是Dialog不會消失.示例如下:二.實現方法:發布需...將Activity設置成半透明的對話框。將Activity設置成半透明的對話框在定義Activity時指定Theme.Dialog主題就可以將Activity設置成對話框風格.通過修飾Theme.Dialog主題的android:wind...Activity使用Dialog樣式導致點擊空白處自動關閉的問題。
將Activity設置成窗口的樣式實現Dialog或者Popupwindow效果在開發中是很常用的一種方式,在AndroidMenifest.xml中將需要設置的Activity增加android:t...

⑹ 如何實現Android透明導航欄

實現功能

1.步驟:

1) 創建一個工程,主布局就先做一個ImageView,自己找個好看的圖片做src。
2) 在Activity重寫的onCreate方法中獲得窗口視圖對象(DecorView)
3) 設置DecorView的SystemUiVisibility
4) 設置導航條、狀態欄的顏色–>透明
5) 獲取當前Activity的ActionBar並隱藏

2.具體代碼和注釋:

獲取DecorView對象

@Override
protectedvoidonCreate(BundlesavedInstanceState){
...
ViewdecorView=getWindow().getDecorView();
...
}

設置SystemUiVisibility

intoption=View.SYSTEM_UI_FLAG_FULLSCREEN//全屏標記
|View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN//布局全屏標記,避免退出全屏模式時內容被覆蓋
|View.SYSTEM_UI_FLAG_HIDE_NAVIGATION//隱藏導航欄標記
|View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION//布局隱藏導航欄標記,同理
|View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY//粘性沉浸體驗
|View.SYSTEM_UI_FLAG_LAYOUT_STABLE;//確保上述標記穩定//此方法用來設置系統UI的可見性,系統UI包括狀態欄、ActionBar、導航欄devorView.setSystemUiVisibility(option);

設置狀態欄、導航欄的顏色:

getWindow().setStatusBarColor(Color.TRANSPARENT);//Color.TRANSPARENT=0表示#00000000即透明顏色
getWindow().setNavigationBarColor(Color.TRANSPARENT);

獲取本頁面的ActionBar並隱藏起來

ActionBaractionBar=getSupportActionBar();//注意:此處用的Activity繼承的是
AppCompatActivity(它繼承的是FragmentActivity)
//所以調用的是getSupport...方法,如果繼承Activity則直接調用get...方法
assertactionBar!=null;//這一句可以不理會,反正我是Ctrl+F1提示出來的,意思其實是判斷如果actionBar不為空則向下執行。
actionBar.hide();

注意:最後一點注意事項是:只支持Android API 21以上的手機

⑺ android activity 怎麼設置一半透明

可以使用系統自帶的透明樣式清單文件里設置:android:theme="@android:style/Theme.Translucent">

⑻ 怎麼讓activity透明到桌面

一個完全透明的Activity有很多用處,比如在應用啟動的時候,可以用它處理根據用戶是否登錄的狀態來跳轉相應界面的情況,實際上微信啟動的時候就是做了這種效果、或者在Server檢測版本更新的時候彈出它來顯示對話框,也可以變出很多花樣來巧妙的解決不同的需求,而要實現這樣的一個Activity是非常的簡單的,我們只需要一個樣式就能完美解決:

在theme.xml中添加:
<style name="TranslucentTheme">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>

在AndroidManifest.xml中給你的Activity設置一下theme:
<activity
android:name=".YourActivity"
android:theme="@style/TranslucentTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

熱點內容
微商引流腳本方法 發布:2024-05-09 05:33:09 瀏覽:477
編譯軟體包 發布:2024-05-09 05:13:46 瀏覽:90
sql語句logon 發布:2024-05-09 05:04:28 瀏覽:556
阿里雲伺服器異地登錄 發布:2024-05-09 05:04:27 瀏覽:934
信息發布源碼 發布:2024-05-09 05:00:11 瀏覽:695
安卓手機aac是什麼 發布:2024-05-09 04:56:21 瀏覽:394
資料庫的中文亂碼 發布:2024-05-09 04:41:00 瀏覽:751
永劫無間伺服器為什麼那麼爛 發布:2024-05-09 04:34:38 瀏覽:811
用哪個軟體配置華為企業路由器 發布:2024-05-09 04:23:58 瀏覽:521
簡易腳本 發布:2024-05-09 04:17:30 瀏覽:802