控件中支持java代碼 java中的控件

北大青鳥java培訓:Android之自定義控件?

一、簡單自定義控件MyButton每一個控件都是一個java類,有對應的代碼,只要你能正確的編寫java代碼,那么電腦培訓發(fā)現(xiàn)可以創(chuàng)造出符合你需求的控件,即自定義控件。

永勝網(wǎng)站建設公司創(chuàng)新互聯(lián)建站,永勝網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為永勝近千家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設要多少錢,請找那個售后服務好的永勝做網(wǎng)站的公司定做!

1.通過繼承的方式,創(chuàng)建自定義控件通過繼承一個現(xiàn)有的控件,覆蓋其界面的呈現(xiàn)???通過繼承一個包含若干子控件的布局通過繼承一個現(xiàn)有的控件,覆蓋某個響應事件???繼承一個View來完整自定義一個心控件?2.使你的自定義控件繼承自某個最接近的Android控件,必須是public?一般都會調用父類的構造方法,注意一般有三個構造方法覆蓋原來控件的方法,注意是否要再調用super中的方法在XML中以類全名的方式引用此控件二、復雜自定義控件MyLogin需要設計包含一組控件的自定義控件就需要用到復雜的自定義控件1)???使得你的自定義控件繼承自某個接近的布局2)???正確的實現(xiàn)構造方法:構造方法中實例化目標布局,同時查找到各個子布局3)???添加相應的響應代碼來修改屬性,使得外部能訪問布局中的子控件4)???在XML中以類全名的方式引用此控件,完整的包名+類名。

android開發(fā)中在絕對布局里控件的xy值用java代碼怎么設置?

給你寫個最簡單的吧,其實和XML布局是一樣的。都是在LinearLayout、RelativeLayout這些布局中加控件,不同的是java代碼都是new 出來的對象。例子:

LinearLayout layout = new LinearLayout(context);

layout.setOrientation(LinearLayout.VERTICAL);

layout.setPadding(0, 0, 0, 0);

layout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));

Button btn = new Button(context);

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);

params.setMargins(0, 0, 0, 0);

btn.setLayoutParams(params);

layout.addView(btn);

JAVA如何將定義的控件代碼和處理事件的代碼分為兩個文件調取

你可以直接新建一個類,這個類實現(xiàn)你所要監(jiān)聽的事件接口,監(jiān)聽的時候直接實例化這個類當作參數(shù)傳到綁定事件的方法內(nèi)就可以了

窗口類:

public class TestWindow extends javax.swing.JFrame {

public TestWindow() {

initComponents();

}

private void initComponents() {

jButton1 = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jButton1.setText("OK");

//綁定事件

jButton1.addActionListener(new ActionListenerButton());

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(

getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING).addGroup(

layout.createSequentialGroup().addGap(87, 87, 87)

.addComponent(jButton1)

.addContainerGap(262, Short.MAX_VALUE)));

layout.setVerticalGroup(layout.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING).addGroup(

layout.createSequentialGroup()

.addGap(83, 83, 83)

.addComponent(jButton1,

javax.swing.GroupLayout.PREFERRED_SIZE, 39,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(178, Short.MAX_VALUE)));

pack();

}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new TestWindow().setVisible(true);

}

});

}

private javax.swing.JButton jButton1;

}

監(jiān)聽實現(xiàn)類:

public class ActionListenerButton implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

JOptionPane.showMessageDialog(null, "Hello world");

}

}

在Android上怎樣實現(xiàn)JAVA和JS交互

在Android的開發(fā)過程中、遇到一個新需求、那就是讓Java代碼和Javascript代碼進行交互、在IOS中實現(xiàn)起來很麻煩、而在Android中相對來說容易、Android對這種交互進行很好的封裝、其實可以很簡單的用Java代碼調用WebView中的js函數(shù)、也可以用WebView中的js來調用Android應用中的Java代碼

一、網(wǎng)頁的JS代碼調用ANDROID中JAVA代碼的方法

在網(wǎng)頁中調用java代碼、需要在webview控件中添加javascriptInterface

contentWebView = (WebView) findViewById(R.id.webview);

//啟用javascript

contentWebView.getSettings().setJavaScriptEnabled(true);

contentWebView.addJavascriptInterface(this, "js對象名");

在Activity中定義一個要被js調用的方法、src為js傳遞過來的參數(shù)、如果沒有不傳也可以的。

public void jsFunction(final String str) {

Toast.makeText(this, str, Toast.LENGTH_SHORT).show();

runOnUiThread(new Runnable() {

@Override

public void run() {

//在里對Android應用的UI進行處理

}

});

}

在網(wǎng)頁中、只需要像調用js方法一樣、進行調用就可以

a onClick="window.js對象名.jsFunction(′hello world′)"

點擊調用java代碼并傳遞參數(shù)

/a

二、ANDROID中JAVA代碼調用網(wǎng)頁的JS代碼的方法

Java代碼調用js并傳參其實是通過WebView的loadUrl方法去調用的、只是參數(shù)url的寫法不一樣

// 無參數(shù)調用

contentWebView.loadUrl("javascript:javacalljs()");

// 傳遞參數(shù)調用

contentWebView.loadUrl("javascript:javacalljswithargs("

+ "′hello world′" + ")");

三、JAVA和JS交互注意事項

1、Java 調用 js 里面的函數(shù)、效率并不是很高、估計要200ms左右吧、做交互性很強的事情、這種速度很難讓人接受、而js去調Java的方法、速度很快、50ms左右、所以盡量用js調用Java方法

2、Java 調用 js 的函數(shù)、沒有返回值、調用就控制不到

3、Js 調用 Java 的方法、返回值如果是字符串、你會發(fā)現(xiàn)這個字符串是 native 的、轉成 locale 的才能正常使用、使用 toLocaleString() 函數(shù)就可以、不過這個函數(shù)的速度并不快、轉化的字符串如果很多、將會很耗費時間

4、網(wǎng)頁中盡量不要使用jQuery、執(zhí)行起來需要5-6秒、最好使用原生的js寫業(yè)務腳本、以提升加載速度、改善用戶體驗

安卓中如何在java代碼中手動為控件設置參數(shù)

你設置他的layoutprames就可以了

FrameLayout.LayoutParams?layoutParams?=?new?FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,?ViewGroup.LayoutParams.WRAP_CONTENT);

layoutParams.setMargins(0,0,0,0);//這里動態(tài)設置他的數(shù)值就行了,你說滾動設置,你在滾動監(jiān)聽里設置就行了。

android 可不可以在java代碼中調用@+id/myview功能的方法,我想動態(tài)注冊控件到R

你的意思應該是要在java代碼中動態(tài)創(chuàng)建控件吧,那可以這樣做

Button btn1 = new Button(this);

btn1.setText(”this is a button”);

btn1.setId(1);//設置他的ID

網(wǎng)站標題:控件中支持java代碼 java中的控件
文章鏈接:http://muchs.cn/article0/hgegoo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、微信公眾號、網(wǎng)站排名網(wǎng)站策劃、網(wǎng)站改版、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設