當前位置:首頁 » 安卓系統 » android陰影布局

android陰影布局

發布時間: 2025-07-02 14:57:40

Ⅰ android 怎麼給button添加陰影

在button中添加elevation屬性。注意一點:他的父控制項要設置的大一點,不然顯示不出來

Ⅱ 如何而去掉android中Button自帶的陰影效果

如果想在保留邊框的情況下去掉邊框上的陰影,設置邊框為實線即可,button邊框默認是雙線,就會出現一個很難看的立體效果,我就查了查api,發現邊框分著雙線和實線,如果邊框有雙線,那這和出現的場景一樣啊,我就再次設置成實線了發現。。。。。。。那個惡心的虛影沒了,而且保留了邊框。

Ⅲ Android如何純java代碼實現字體陰影效果

Android實現純java代碼字體陰影效果,主要是通過activity的draw方法,進行重新繪制,如下代碼:

packagecanvas.test;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.content.Context;
importandroid.graphics.Bitmap;
importandroid.graphics.BitmapFactory;
importandroid.graphics.Canvas;
importandroid.graphics.Color;
importandroid.graphics.Paint;
importandroid.graphics.PorterDuff;
importandroid.graphics.PorterDuff.Mode;
importandroid.graphics.PorterDuffXfermode;
importandroid.graphics.Rect;
importandroid.graphics.RectF;
importandroid.graphics.drawable.Drawable;
importandroid.view.View;
{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(newImageEffect(this));
}
classImageEffectextendsView{
Paintpaint;
publicImageEffect(Contextcontext){
super(context);
paint=newPaint();//初始化畫筆,為後面陰影效果使用。
paint.setAntiAlias(true);//去除鋸齒。
paint.setShadowLayer(5f,5.0f,5.0f,Color.BLACK);//設置陰影層,這是關鍵。
paint.setXfermode(newPorterDuffXfermode(Mode.SRC_IN));
}
@Override
publicvoidonDraw(Canvascanvas){
super.onDraw(canvas);
intposX=20;
intposY=50;
intPicWidth,PicHegiht;
Drawabledrawable=getResources().getDrawable(R.drawable.button);
Drawabledbe=getResources().getDrawable(R.drawable.button).mutate();//如果不調用mutate方法,則原圖也會被改變,因為調用的資源是同一個,所有對象是共享狀態的。
DrawabledrawTest=getResources().getDrawable(R.drawable.button);
Bitmapbmp=BitmapFactory.decodeResource(getResources(),R.drawable.button);
PicWidth=drawable.getIntrinsicWidth();
PicHegiht=drawable.getIntrinsicHeight();
drawTest.setBounds(posX,(2*posY)+PicHegiht,posX+PicWidth,(2*posY)+2*PicHegiht);
drawable.setBounds(posX,posY,posX+PicWidth,posY+PicHegiht);
dbe.setBounds(0,0,PicWidth,PicHegiht);
canvas.drawColor(Color.WHITE);//設置畫布顏色
canvas.save(Canvas.MATRIX_SAVE_FLAG);
dbe.setColorFilter(0x7f000000,PorterDuff.Mode.SRC_IN);
canvas.translate(posX+(int)(0.9*PicWidth/2),posY+PicHegiht/2);//圖像平移為了剛好在原圖後形成影子效果。
canvas.skew(-0.9F,0.0F);//圖像傾斜效果。
canvas.scale(1.0f,0.5f);//圖像(其實是畫布)縮放,Y方向縮小為1/2。
dbe.draw(canvas);//此處為畫原圖像影子效果圖,比原圖先畫,則會在下層。
drawable.clearColorFilter();
canvas.restore();
canvas.save(Canvas.MATRIX_SAVE_FLAG);
drawable.draw(canvas);//此處為畫原圖像,由於canvas有層次效果,因此會蓋在影子之上。
canvas.restore();
//默認無效果原圖
canvas.save(Canvas.MATRIX_SAVE_FLAG);
drawTest.draw(canvas);
canvas.restore();
//圖片陰影效果
canvas.save(Canvas.MATRIX_SAVE_FLAG);
//Rectrect=newRect(2*posX+PicWidth,2*posY+PicHegiht,2*posX+2*PicWidth,2*posY+2*PicHegiht);//此為理論上的陰影圖坐標
Rectrect=newRect(2*posX+PicWidth+3,2*posY+PicHegiht+3,2*posX+2*PicWidth-2,2*posY+2*PicHegiht-2);
//由於圖片的實際尺寸比顯示出來的圖像要大一些,因此需要適當更改下大小,以達到較好的效果
RectFrectF=newRectF(rect);
canvas.drawRoundRect(rectF,10f,10f,paint);//在原有矩形基礎上,畫成圓角矩形,同時帶有陰影層。
canvas.drawBitmap(bmp,2*posX+PicWidth,2*posY+PicHegiht,null);//畫上原圖。
canvas.restore();
}
}
}

Ⅳ android 圓角邊框 陰影邊框怎麼設置

所謂添加陰影,就是兩個畫布從重疊,上方的畫布小於下方的畫布,陰影顏色為下方的畫布的顏色。
item 中shape 的屬性 (rectangle:矩形;line:線性;oval:橢圓;ring:環形),默認為矩形
corners //設置圓角幅度,必須是在shape=rectangle的時候,corners才有效
<corners
Android:radius="dimension" //全部的圓角半徑
android:topLeftRadius="dimension" //左上角的圓角半徑
android:topRightRadius="dimension" //右上角的圓角半徑
android:bottomLeftRadius="dimension" //左下角的圓角半徑
android:bottomRightRadius="dimension" /> //右下角的圓角半徑
eg:<corners android:radius="10dp" />
solid用以指定內部填充色
e.g:<solid android:color="color" />
gradient //定義漸變色,可以定義兩色漸變和三色漸變,及漸變樣式
linear(線性漸變)、radial(放射性漸變)、sweep(掃描式漸變), 在構造放射性漸變時,要加上android:gradientRadius屬性(漸變半徑),即必須指定漸變半徑的大小才會起作用。
<gradient
android:type=["linear" | "radial" | "sweep"] //共有3中漸變類型
android:angle="integer" //漸變角度,必須為45的倍數,0為從左到右,90為從上到下
android:centerX="float" //漸變中心X的相當位置,范圍為0~1
android:centerY="float" //漸變中心Y的相當位置,范圍為0~1
android:startColor="color" //漸變開始點的顏色
android:centerColor="color" //漸變中間點的顏色,在開始與結束點之間
android:endColor="color" //漸變結束點的顏色
android:gradientRadius="float" //漸變的半徑,只有當漸變類型為radial時才有效
android:useLevel=["true" | "false"] /> //使用LevelListDrawable時就要設置為true。設為false時才有漸變效果
stroke //這是描邊屬性,可以定義描邊的寬度,顏色,虛實線等
<stroke
android:width="dimension" //描邊的寬度
android:color="color" //描邊的顏色 // 以下兩個屬性設置虛線
android:dashWidth="dimension" //虛線的寬度,值為0時是實線
android:dashGap="dimension" /> //虛線的間隔

Ⅳ Android 5.0 elevation 設置陰影無效

elevation 設置陰影需要注意兩點:
1、view需要設置背景
2、陰影是繪制在父控制項上的,子控制項和父控制項之間要留空隙,用padding也不行
在開發過程中有過這樣的布局:

我子Linearlayout是設置的圓角背景,結果這樣的效果是:只有圓角的便便才有一丁點的陰影,原因是父布局設置的是padding,子控制項是match_parent,空隙不足導致,將子布局改為margin,去掉父控制項的padding就行了

Ⅵ 安卓怎麼在linearLayout或者其他一些組件底部添加陰影

有兩種解決方案:

1、使用9-patch 圖片,製作一個陰影部分的圖片,然後橫向拉伸即可


2、使用layer-list

  • 在res/drawable下,新建background_with_shadow.xml文件,該文件代碼如下:

<?xmlversion="1.0"encoding="utf-8"?>
<layer-listxmlns:android="http://schemas.android.com/apk/res/android">

<!--bottomshadow-->
<item>
<shapeandroid:shape="rectangle">
<!--fromtoptobottom-->
<gradient
android:angle="90"
android:centerColor="#bbbbbb"
android:endColor="#d5d5d5"
android:startColor="#a9a09d"/>
<cornersandroid:radius="5dp"/>
</shape>
</item>

<!--content-->
<itemandroid:bottom="2dp">
<shapeandroid:shape="rectangle">
<solidandroid:color="#50c1e9"/>
<cornersandroid:radius="5dp"/>
</shape>
</item>

</layer-list>
  • 使用background_with_shadow.xml文件

假設有bottom_shadow.xml文件,內容如下:

<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#bfbfbf">

<LinearLayout
android:layout_marginTop="40dp"
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="vertical"
android:background="@drawable/background_with_shadow">
</LinearLayout>

<TextView
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="活動海報"/>

</LinearLayout>
  • 效果圖如下

Ⅶ Android studio中控制項TextView學習

TextView作為Android開發中的基礎控制項,其學習內容豐富且實用。下面將對TextView的學習進行概括性介紹,包含其基本屬性、陰影效果以及實現跑馬燈的三種方法。

**基礎屬性代碼練習**:在Android開發中,TextView用於顯示文本信息。學習之初,可以通過設置TextView的文本、字體大小、顏色等基礎屬性進行實踐操作,這些屬性通過set方法進行調整。

**帶陰影的TextView代碼練習**:為TextView添加陰影效果,可以提升UI的美觀度。實現該功能可通過修改TextView的陰影屬性,例如設置陰影顏色、陰影半徑、陰影偏移等。具體代碼示例為:`myTextView.setShadowLayer(3f, 1f, 1f, Color.GRAY);`。

**實現跑馬燈的三種方式**:跑馬燈效果在Android應用中常見,用於顯示滾動的文字或圖片。實現方式有三種:

1. **手動點擊TextView**:用戶點擊TextView時觸發滾動效果。實現時需監聽TextView的點擊事件,並在事件處理中實現滾動邏輯。

2. **自定義MyTextView**:創建一個自定義的TextView類,重寫其滾動邏輯,無需用戶點擊即可自動啟動滾動。

3. **改回TextView並加requestFocus**:通過設置TextView的requestFocus屬性,使其在界面中獲得焦點後自動啟動滾動效果。

上述代碼示例旨在展示實現思路,具體實現細節需根據項目需求和API版本進行相應調整。

**推薦學習資源**:對於初學者而言,系統學習Android開發技術是提升的關鍵。推薦《Android核心技術進階手冊》一書,內容全面且適合初學者,幫助鞏固基礎並深入理解Android開發。如果你正在學習階段或已有1-2年開發經驗,這本資料將對你有很大幫助。

**總結**:在Android開發中,掌握基礎控制項如TextView的運用是必不可少的技能。隨著學習的深入,更多控制項和功能將逐漸掌握。Android開發之路充滿挑戰,但通過不斷實踐和學習,每一步積累都將為未來的技術成長鋪平道路。希望每位開發者都能在Android領域探索出一片屬於自己的天地。

熱點內容
賓士導航什麼配置 發布:2025-07-03 17:46:42 瀏覽:742
伺服器2012r2遠程服務怎麼開啟 發布:2025-07-03 17:46:01 瀏覽:454
駐日美軍的配置是怎麼樣的 發布:2025-07-03 17:38:06 瀏覽:171
什麼是隊列伺服器 發布:2025-07-03 17:37:53 瀏覽:495
存儲器答案 發布:2025-07-03 17:32:28 瀏覽:796
搭建伺服器和分區 發布:2025-07-03 17:27:20 瀏覽:776
廢品機械師如何升級電腦配置 發布:2025-07-03 17:27:11 瀏覽:25
國產手機存儲 發布:2025-07-03 17:26:09 瀏覽:735
怎麼在電腦上更改微信存儲位置 發布:2025-07-03 17:18:18 瀏覽:864
phpmysql連接超時 發布:2025-07-03 17:05:09 瀏覽:797