① android怎麼讓button去掉邊框
使用資源文件shape定義背景(background)
下圖是安卓無憂中的例子,可以看裡面的源碼還有文檔,大部分形狀都可以定義,請看截圖:
在Android程序開發中,我們經常會去用到Shape這個東西去定義各種各樣的形狀,首先我們了解一下
Shape下面有哪些標簽,都代表什麼意思:
1.1
solid:填充
android:color指定填充的顏色
1.2
gradient:漸變
android:startColor和android:endColor分別為起始和結束顏色,
android:angle是漸變角度,必須為45的整數倍。
另外漸變默認的模式為android:type="linear",即線性漸變,
可以指定漸變為徑向漸變,android:type="radial",徑向漸變需要指定半徑android:gradientRadius="50"。
angle值對應的位置如圖:
1.3
stroke:描邊
android:width="2dp"
描邊的寬度,android:color
描邊的顏色。
我們還可以把描邊弄成虛線的形式,設置方式為:
android:dashWidth="5dp"
android:dashGap="3dp"
其中android:dashWidth表示'-'這樣一個橫線的寬度,android:dashGap表示之間隔開的距離
1.4
corners:圓角
android:radius為角的弧度,值越大角越圓。
我們還可以把四個角設定成不同的角度,
同時設置五個屬性,則Radius屬性無效
android:Radius="20dp"
設置四個角的半徑
android:topLeftRadius="20dp"
設置左上角的半徑
android:topRightRadius="20dp"
設置右上角的半徑
android:bottomLeftRadius="20dp"
設置右下角的半徑
android:bottomRightRadius="20dp"
設置左下角的半徑
padding:間隔
可以設置上下左右四個方向的間隔
ps:為了方便交流看一下我名字中文和除了中文以外的。
② 如何動態地畫一條虛線在Android中使用OpenGL ES 2.0編程
動態繪制虛線,可以參考如下內容:
、被稱為點畫的影響。不幸的是,點畫已經從OpenGL的刪除,但幸運的是,有幾種方法仍然得到的效果。我們必須充分利用的OpenGL的著色語言的這項任務。 頂點著色器:uniform mat4 u_modelViewProjectionMatrix;
uniform mat4 mv;
attribute vec4 a_position;
attribute vec4 a_color;
varying vec4 v_color;
varying vec4 position;
void main() {
gl_Position = u_modelViewProjectionMatrix * a_position;
position = mv * a_position;
v_color = a_color;
}
著色器:precision mediump float;
uniform vec2 sourcePoint;
varying vec4 v_color;
varying vec4 position;
void main() {
if (cos(0.1*abs(distance(sourcePoint.xy, position.xy))) + 0.5 > 0.0) {
gl_FragColor = vec4(0,0,0,0);
} else {
gl_FragColor = v_color;
}
}
我沒有在這里找到本教程中,我測試了,這里是我的結果:
正如羅斯托夫在這個線程解釋,這里最大的部分是sourcePoint。
的關鍵 CodeGo.net,整個事情是sourcePoint被傳遞的
該行的起源。
如果你不喜歡這種方式也存在textures圖案的效果。有與α虛線效果textures,並將其應用到您的線路。
2.
我找到了一個更好的解決方案。它的水平和垂直線。
#define DOT_VERTEX_CODE \
"attribute vec4 a_Position;" \
"uniform mat4 projectionMatrix;" \
"varying vec2 v_xy;" \
"void main() {gl_PointSize = 1.0; gl_Position = a_Position*projectionMatrix; v_xy = a_Position.xy;}"
#define DOT_FRAGMENT_CODE \
"precision mediump float;" \
"varying vec2 v_xy;" \
"uniform float isVert;" \
"uniform vec4 color1;" \
"uniform vec4 color2;" \
"void main() {gl_FragColor = mod(isVert > 0.0 ? v_xy.y : v_xy.x, 2.0) >= 1.0 ? color1 : color2;}"
③ android 如何設置listview的分割線為虛線
樓主,你的這個問題我遇到過,並且用另一種方式解決了。
首先告訴你,listview的分割線不能設置為虛線,你也知道關於它的兩個屬性:
android:divider="#FFCC00"(或者android:divider="@color/divider_color")
android:dividerHeight="4px"
一個是設置顏色,一個是設置高度。沒法設置為虛線。
---------------------------
我的做法是這樣的!比較暴力,但能解決問題。
讓美工給你做一個虛線的圖!保存為 xuxian.png
然後再用android:divider="@drawable/xuxian",把它設置為這個圖。看上去就是個虛線了。至於效果,讓美工和你一起再慢慢細調。
結論是:很絕望。目前只有這一個辦法,可以解決你的問題。
手動打字,非ctrl+c / ctrl+v之流。但願能幫到你
④ android使用paint怎麼畫虛線
Paint paint = new Paint ( ) ;x0dx0apaint.setColor ( Color.BLACK ) ;x0dx0a//設置畫直線格式x0dx0apaint.setStyle ( Paint.Style.STROKE ) ;x0dx0ax0dx0a//設置虛線效果x0dx0apaint.setPathEffect ( new DashPathEffect ( new float [ ] { 3, 2 }, 0 ) ) ;x0dx0ax0dx0a最後這句是設置虛線效果,里邊的float數組的意思是:先畫長度為3的彎早實線,再間隔長度為2的空白,之後一直重埋者雀復這個單元。這個數組的長度只要大於嫌液等於2就行,你可以設置多個數值,產生不同效果,最後這個0指的是與起始位置的偏移量。
⑤ 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);
}
⑥ android使用grah畫柱狀圖,怎樣設置橫坐標標題的大小
第一步:
獲取Android設備的屏幕大小
第二步:
在View對象中使用Canvas繪制藍色邊框與白色背景XY軸兩條線,代碼如下
第三步:
繪制柱狀圖標題
第四步:
根據數據集計算出每個系列數據所佔X軸的大小,來繪制X 數據名稱
第五步:
根據數據集計算出數據單元大小,並將數據單元映射為像素單元,繪制出標尺單位與
背景虛線
第六步:
根據數據集的值來計算出柱狀圖的高度,以及柱狀圖的寬度大小,映射為像素值以後
完成繪制。
程序效果圖:
技術點詳解:
在View中獲取Android設備屏幕大小的方法為:
[java] view plain
// get default screen size from system service
WindowManager wm = (WindowManager) this.getContext().getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int width = display.getWidth();
在Activity中獲取Android設備屏幕大小的方法為:
[java] view plain
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int wwidth = displaymetrics.widthPixels;
計算X軸中每個系列所佔大小的代碼為:
[java] view plain
int count = series.getSeriesCount();
int xUnit = (width - 2 - xOffset)/count;
其中xOffset, yOffset值計算公式如下:
[java] view plain
int xOffset = (int)(width * 0.1);
int yOffset = (int)(height * 0.1);
計算每個系類中,每個柱狀圖之間縫隙大小的為:
[java] view plain
int barWidth = (int)(xUnit/Math.pow(itemList.size(),2));
int startPos = xOffset + 2 + xPadding + xUnit*i;
int interval = barWidth/2;
其中barWidth表示每個柱狀矩形的寬度,interval表示同一數據系列中表示
每個矩形之間的間隔。
⑦ android用shape畫虛線,怎麼也不顯示
一直以為android的shape能畫直線,虛線,矩形,圓形等,畫直線也就算了,用一個view設一下高度和顏色,就可以出來一條直線了。所以說這個對我來說經常不用,圓形是可以,看看我應用里的消息提示框都是這樣生成的,好了,這個不存在問題,今天想要做是一條虛線,什麼也不說了,直接上虛線的代碼:<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<!-- 顯示一條虛線,破折線的寬度為dashWith,破折線之間的空隙的寬度為dashGap,當dashGap=0dp時,為實線 -->
<stroke android:width="1dp" android:color="#D5D5D5"
android:dashWidth="2dp" android:dashGap="3dp" />
<!-- 虛線的高度 -->
<size android:height="2dp" />
</shape>
解釋的好完美,真要不是不自己試,估計一輩子都會相信這是真的了,結果是放到手機里,從來沒有出現過什麼線條,對於像我一樣追求完美的人來說,自然不會放過這一個細節,在網上找了大半天,有的小夥伴們也遇到了,並且也解決了,可是把他們的方法拿過來後,都一個也不好使,實際情況是還是不能顯示,總結一下小夥伴們的解決方法吧
1.從android3.0開始,安卓關閉了硬體加速功能,所以就不能顯示了,所以就是在 AndroidManifest.xml,或者是在activity中把硬體加速的功能關掉就可以了android:hardwareAccelerated="false"或者是view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
2.一個小夥伴的翻譯,說什麼height要大於dashWidth才能顯示。
我都按他們的方法試了,根本都不行,
所以要想真正的實現還是老老實實的自己去畫一條虛線吧。