投稿

ラベル(Andriod)が付いた投稿を表示しています

ListViewのカスタマイズしたViewでCheckBoxを配置する場合

イメージ
ListViewのカスタマイズしたViewでCheckBoxを配置すると、onItemClick()イベントが発生しなってしまう。 ↓こんな感じにしたいとき そこで、CheckBoxに[android:focusable="false"]を設定するとCheckBoxがフォーカスを奪わなくなって上手くいくようだ。 ふんどしの持ち主 戌印-INUJIRUSHI-

サービスへのプロセス間通信

「サービス側」 AIDLファイルを定義する サービスの処理を作成 マニフェストにサービスのインテントフィルタを定義する 1. AIDLの定義  AIDLの書き方については @IT様を参照する とよい。 package com.example.myiservice; interface IService { void message(in String msg); } 2. サービスでの処理部分 Handler mHandler = new Handler(); IService.Stub mBinder = new IService.Stub(){ @Override public void message(final String msg) throws RemoteException { mHandler.post(new Runnable(){ @Override public void run() { // Handlerを使ってServiceのToastを呼び出す Toast.makeText(Service.this, "Hello,World!", Toast.LENGTH_SHORT).show(); } }); } } 3.  インテントフィルタの追加 マニフェストファイルにServiceのインテントフィルタを設定しないと接続できない。 <service android:name="com.example.myiservice.Service" android:enabled="true"> <intent-filter> <action android:name="ncom.example.myiservice.IService" /> </intent-filter> </service> 「クライアント側」 AIDLフ...

オリジナルフォントを使う

オリジナルフォントを追加するには  1.「assets」下にフォントファイルを追加する。  2.プログラムから設定する。 TextView txtText1 = (TextView)findViewById(R.id.txtText1); Typeface tf = Typeface.createFromAsset(getAssets(), "digital.ttf"); txtText1.setTypeface(tf); ふんどしの持ち主 検索プログラマのメモ帳

リソースのSurfaceViewを使う

リソースのSurfaceViewを使うには、getHolder()でSurfaceHolderを取得する。 SurfaceHolder.Callbackのインターフェイスを持つクラスをコールバックに登録する。 public class MyView implements SurfaceHolder.Callback, Runnable{ private SurfaceHolder mHolder; private Thread mRun; MyTouchActivity mMain; // コンストラクタ public MyView(MyTouchActivity myactivity, SurfaceView sv){ mMain = myactivity; // リソースのSurfaceViewからSurfaceHolderを得てコールバックを設定する mHolder = sv.getHolder(); mHolder.addCallback(this); } @Override public void surfaceCreated(SurfaceHolder holder){ mRun = new Thread(this); } @Override public void surfaceDestroyed(SurfaceHolder holder){ mRun = null; } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height){ if(mRun != null){ mRun.start(); } } @Override public void run(){ Paint p = new Paint(); while(mRun != null){ Canvas canvas = mHolder.lockCanvas(); canvas.drawColor(Color.BLUE); p.setColor(Color.argb(255, 255, 255, 0)); canvas.drawCircle...

XMLレイアウト includeとmarge

インクルードするファイルはこんな感じ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <include layout="@layout/title_image"/> </FrameLayout> インクルードされるファイルはこんな感じ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/image" /> </FrameLayout> これだと、FrameLayoutが重なっちゃうので<marge>をつかうと良い感じに <merge xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" andr...

android.view.LayoutInflater

Activity public LayoutInflater getLayoutInflater () LayoutInflater public View inflate (int resource, ViewGroup root)