A. 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" /> //虛線的間隔
B. android用shape畫虛線,怎麼也不顯示
android中 shape的用法如下:
注意這個padding屬性,如果你設置了邊框,建議你給控制項設置一下padding
內邊距,這要才能顯示出來
<?xmlversion="1.0"encoding="utf-8"?>
<shapexmlns:android="http://schemas.android.com/apk/res/android">
<!--圓角-->
<corners
android:radius="9dp"
android:topLeftRadius="2dp"
android:topRightRadius="2dp"
android:bottomLeftRadius="2dp"
android:bottomRightRadius="2dp"/><!--設置圓角半徑-->
<!--漸變-->
<gradient
android:startColor="@android:color/white"
android:centerColor="@android:color/black"
android:endColor="@android:color/black"
android:useLevel="true"
android:angle="45"
android:type="radial"
android:centerX="0"
android:centerY="0"
android:gradientRadius="90"/>
<!--間隔-->
<padding
android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp"/><!--各方向的間隔-->
<!--大小-->
<size
android:width="50dp"
android:height="50dp"/><!--寬度和高度-->
<!--填充-->
<solid
android:color="@android:color/white"/><!--填充的顏色-->
<!--描邊-->
<stroke
android:width="2dp"
android:color="@android:color/black"
android:dashWidth="1dp"
android:dashGap="2dp"/>
</shape>
C. 在android中如何畫一條虛線
使用paint來畫。
Paint paint = new Paint ( ) ;
paint.setColor ( Color.BLACK ) ;
//設置畫直線格式
paint.setStyle ( Paint.Style.STROKE ) ;
//設置虛線效果
paint.setPathEffect ( new DashPathEffect ( new float [ ] { 3, 2 }, 0 ) ) ;
最後這句是設置虛線效果,里邊的float數組的意思是:先畫長度為3的實線,再間隔長度為2的空白,之後一直重復這個單元。這個數組的長度只要大於等於2就行,你可以設置多個數值,產生不同效果,最後這個0指的是與起始位置的偏移量。
D. 在安卓系統中創建水平和垂直的虛線問題,怎麼解決
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line" >
<stroke
android:dashGap="3dp"
android:dashWidth="6dp"
android:width="1dp"
android:color="#63a219" />
<!-- 虛線的高度 -->
<size android:height="1dp" />
</shape>
dashGap是虛線之間的間隔,dashWidth是每段虛線長度~
E. 如何在Android中使用虛線
android開發中虛線的用法:
一、自己創建模式,一個點一個點的繪制。
二、用Android提供的 DashPathEffect 類來創建模式繪制。
下面我要演示的就是第二種方法,用Android提供給我的API來繪制。
由於是開發項目的一個小塊,下面只能給出部分截圖:
下面看一下核心繪圖代碼:
public void draw(Canvas mcanvas) {
GameLog.log(Tag, "draw");
Paint mLinePaint = new Paint();
mLinePaint.setColor(Color.WHITE);
mLinePaint.setStyle(Paint.Style.STROKE);
//繪制模式
PathEffect effect = new DashPathEffect(new float[] { 1, 2, 4, 8}, 1);
mLinePaint.setAntiAlias(true);
mLinePaint.setPathEffect(effect);
mLinePaint.setStrokeWidth(4);
if (GameManager.getState() == GameManager.GameStart) {
GameLog.log(Tag, "GameStart");
float[] oldPts = getPts(mOldPoints);
mCanvas.drawLines(oldPts, mLinePaint);
prepareLinesData();
float[] newPts = getPts(mNewPoints);
mCanvas.drawLines(newPts, mLinePaint);
}
}
簡單介紹下 PathEffect類:
PathEffect是用來控制繪制輪廓(線條)的方式。
PathEffect對於繪制Path基本圖形特別有用,但是它們也可以應用到任何Paint中從而影響線條繪制的方式。
使用PathEffect,可以改變一個形狀的邊角的外觀並且控制輪廓的外表。
Android包含了多個PathEffect,包括:
CornerPathEffect 可以使用圓角來代替尖銳唯如蠢的角從而對基本圖形的形狀尖銳的邊角進行平橡鋒滑。
DashPathEffect 可以使用DashPathEffect來創建一個虛線的輪廓(短橫線/小圓點),而不是使用實線。你還可以指定任意的虛/實線段的重復模式。
DiscretePathEffect 與DashPathEffect相似,但是添加了隨機性。當繪制它的時候,需要指定每一段的長度和與原始路徑的偏離度。
PathDashPathEffect 這種效果可以定義一個新的形狀(路徑)並將其用作原始路徑的輪廓標記。
下面的效果可以在一個Paint中組合使用多個Path Effect。
SumPathEffect 順序地在一條路徑中添加兩種效果,這樣每一指陪種效果都可以應用到原始路徑中,而且兩種結果可以結合起來。
ComposePathEffect 將兩種效果組合起來應用,先使用第一種效果,然後在這種效果的基礎上應用第二種效果。
對象形狀的PathEffect的改變會影響到形狀的區域。這就能夠保證應用到相同形狀的填充效果將會繪制到新的邊界中。
F. android 如何設置listview的分割線為虛線
樓主,你的這個問題我遇到過,並且用另一種方式解決了。
首先告訴你,listview的分割線不能設置為虛線,你也知道關於它的兩個屬性:
android:divider="#FFCC00"(或者android:divider="@color/divider_color")
android:dividerHeight="4px"
一個是設置顏色,一個是設置高度。沒法設置為虛線。
---------------------------
我的做法是這樣的!比較暴力,但能解決問題。
讓美工給你做一個虛線的圖!保存為 xuxian.png
然後再用android:divider="@drawable/xuxian",把它設置為這個圖。看上去就是個虛線了。至於效果,讓美工和你一起再慢慢細調。
結論是:很絕望。目前只有這一個辦法,可以解決你的問題。
手動打字,非ctrl+c / ctrl+v之流。但願能幫到你
G. android 怎麼實現一條1px的虛線
最原始方法:打開繪圖功能,畫一條線,再設置線條為虛線及粗細。
H. android 如何設置listview的分割線為虛線
有一個setdivider(drawable
d)的方法可哪雹以設置分割線資源,參數為null的時李銷帆候,表示不要分割線。斗銷
I. android虛線白框可以只設置一邊嗎
Android圖形界面(虛線、實線、填充色等屬性設置)——shape
首先需要在res的文件夾下任選一個drawable文件夾(這里主要是跟解析度有關的,我一般都選第一個)然後右鍵新建xml文件選擇shape直接添加屬性就可以了。
使用時,需要在控制項加入android:background="@drawable/edt_bg(你的文件名)"
直接在上面粘貼代碼會出錯(QAQ)所以還是貼圖吧如果要帶嗎還是去原主哪裡吧
詳細
J. Android 文字左邊虛線
方式:
###第一種是通過寫shape布局文件來實現給TextView設置background時引用此布局文件即可實現效果,shape布局文件代碼如下:
stroke標簽下為虛線框的主要設置,dashGap表示中間隔開一段距離,即定義了樣式為虛線,效果圖如下:
###第二種方式是通過自定義View使之繼承View,然後在onDraw方法中將虛線和文字用Paint畫筆畫出。
主要代碼如下:
public class DashedSurroundTextView extends View {
/
mTextColor 文字顏色 mBorderColor 虛線邊界顏色 mBorderWidth虛線邊界寬度
mTextSizen 文字大小 mText 文字內容
/
private int mTextColor;
private int mBorderColor;
private float mBorderWidth;
private float mTextSize;
private String mText;
private float start_x = 0;
private float start_y = 0;
private float padding = 5;
private float baseLineLong = 10;
private float radiusX = 20;
private float radiusY = 20;
...
public DashedSurroundTextView(Context context, AttributeSet attrs) {
super(context, attrs);
//獲取自定義參數
TypedArray typedArray = context.obtainStyledAttributes(attrs,
R.styleable.DashedSurroundTextView);
//虛線border顏色
mBorderColor = typedArray.getColor(R.styleable.DashedSurroundTextView_border_color, Color.argb(0, 0, 0, 0));
//虛線border寬度
mBorderWidth = typedArray.getDimension(R.styleable.DashedSurroundTextView_border_width, 0);
//字體顏色
mTextColor = typedArray.getColor(R.styleable.DashedSurroundTextView_textColor, Color.argb(0, 0, 0, 0));
//字體大小
mTextSize = typedArray.getDimension(R.styleable.DashedSurroundTextView_textSize, 0);
//顯示文字
mText = typedArray.getString(R.styleable.DashedSurroundTextView_text);
}