国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android自定義View控件實現(xiàn)刷新效果

2019-12-12 04:30:02
字體:
供稿:網(wǎng)友

三種得到LinearInflater的方法

a. LayoutInflater inflater = getLayoutInflater();

b. LayoutInflater localinflater =

(LayoutInflater)context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);

c. LayoutInflater inflater = LayoutInflater.from(context);

onDraw 方法繪圖,invalidate刷新界面。

效果圖:

點擊一下?lián)Q顏色

onDraw畫完圖后,給控件設置點擊事件 ,將參數(shù)傳到控件里,然后invalidate刷新

1.onDraw畫圖,并增加changeColor方法

public class CusView3 extends View { private int color = 0; public CusView3(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint mPaint = new Paint(); if (color > 2) { color = 0; } switch (color) { case 0: mPaint.setColor(Color.GREEN); break; case 1: mPaint.setColor(Color.RED); break; case 2: mPaint.setColor(Color.BLUE); break; default: break; } mPaint.setStyle(Style.FILL); mPaint.setTextSize(35.0f); canvas.drawText("點擊我刷新", 10, 60, mPaint); } public void changeColor() { //為了讓外面調(diào)用 color++; } }

2.布局

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <xue.test.CusView3 android:id="@+id/cusview3" android:layout_width="wrap_content" android:layout_height="wrap_content" > </xue.test.CusView3> </LinearLayout>

3.畫圖后 給控件設置點擊事件 ,將參數(shù)傳到控件里,然后invalidate刷新

public class TestCustomViewActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); view3 = (CusView3) findViewById(R.id.cusview3); // 點擊事件 view3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Message message = new Message(); message.what = 1; myHandler.sendMessage(message); } }); } Handler myHandler = new Handler() { // 接收到消息后處理 public void handleMessage(Message msg) { switch (msg.what) { case 1: // 調(diào)用方法 view3.changeColor(); // 刷新方法 view3.invalidate(); break; } super.handleMessage(msg); } }; private CusView3 view3; }

至于自定義控件占整屏的問題,可能需要用layoutparams

以上所述是小編給大家介紹的Android自定義View控件實現(xiàn)刷新效果,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 简阳市| 新田县| 香河县| 且末县| 澳门| 东乌| 青海省| 阿城市| 屏南县| 华安县| 万源市| 库尔勒市| 南陵县| 图片| 合肥市| 怀宁县| 册亨县| 乌兰浩特市| 鄯善县| 石门县| 湾仔区| 濮阳县| 西宁市| 米脂县| 翁牛特旗| 平果县| 高阳县| 天峻县| 云龙县| 阿拉尔市| 陈巴尔虎旗| 清远市| 盐城市| 河西区| 蓬莱市| 黑水县| 微山县| 娄底市| 邓州市| 博爱县| 山西省|