動態更新UI之元件更新

2021-06-09 12:47:36 字數 2274 閱讀 1294

專案中使用到了仿iphone那樣的城市分組列表,網上找到了乙個demo但是問題來了,他的資料是直接放在裡面的,而我的需求是動態獲取資料,再更新ui  

import android.content.context;

import android.graphics.canvas;

import android.graphics.color;

import android.graphics.paint;

import android.graphics.typeface;

import android.util.attributeset;

import android.view.motionevent;

import android.view.view;

/*** 右側字母表,快速定位

* * @author lmj

* */

public class rightcharacterlistview extends view

string b = ;

// string b   =new  cityselectactivity().rightchar;

ontouchingletterchangedlistener ontouchingletterchangedlistener;

int choose = -1;

paint paint = new paint();

boolean showbkg = false;

public rightcharacterlistview(context context, attributeset attrs,

int defstyle)

public rightcharacterlistview(context context, attributeset attrs)

public rightcharacterlistview(context context,string b)

@override

protected void ondraw(canvas canvas)

if (c!=null&&c.length>0)

int height = this.getheight();

int width = this.getwidth();

int singleheight = height / b.length;

for (int i = 0; i < b.length; i++)

float xpos = width / 2 - paint.measuretext(b[i]) / 2;

float ypos = singleheight * i + singleheight;

canvas.drawtext(b[i], xpos, ypos, paint);

paint.reset();

}@override

public boolean dispatchtouchevent(motionevent event)

}break;

case motionevent.action_move:

if (oldchoose != c && listener != null)

}break;

case motionevent.action_up:

showbkg = false;

choose = -1;

invalidate();

break;

}return true;

}@override

public boolean ontouchevent(motionevent event)

public void setontouchingletterchangedlistener(

ontouchingletterchangedlistener ontouchingletterchangedlistener)

public inte***ce ontouchingletterchangedlistener

rightchar=letter.toarray(new string {});

rightcharacterlistview letterlistview = (rightcharacterlistview) findviewbyid(r.id.rightcharacterlistview);

letterlistview.setc(rightchar);

letterlistview.invalidate();

先隨便寫下,專案完成再修改

更新UI介面

在同乙個ui介面中可能包含有 文字 文字框 進度條等多種控制項,如何在保持分布比例的基礎上將各元素排布的僅僅有條,這裡主要使用到grid布局。grid布局是wpf中一種非常常用的 布局,它可以將整個介面劃分為規則的幾行幾列,也可以單獨將其中一行劃分為需要的列數。介面中使用的控制項可以單獨位於乙個網格...

React 入門 2 狀態 UI更新 類元件

ui無非就是應用程式的狀態的一種表現形式.我們已經了解reactdom.render 函式可以掛載或區域性更新dom,但是我們需要一種更精妙的方式.每當應用程式狀態有任何更新,我們就重新整理一次根節點,這樣是可以的,畢竟react只會更新變化的節點,但是整個樹節點都進行一次比對是冗餘的.我們來看這種...

子執行緒更新UI

一般在winform c s程式中經常會在子執行緒中更新控制項的情況,桌面程式ui執行緒是主線程,當試圖從子執行緒直接修改控制項屬性時會出現 從不是建立控制項的執行緒訪問它 的異常提示。跨執行緒更新ui控制項的常用方法有兩種 1.使用控制項自身的invoke begininvoke方法 2.使用sy...