原來只要在AndroidManifest.xml的activity節點中加個屬性即可
android:windowSoftInputMode="stateHidden|adjustPan"
如此便可以在載入activity時不會預設打開小鍵盤,也可以讓小鍵盤打開時將畫面自動往上推,而不會遮住edittext,有些人說一定要把最頂層layout改成scrollView或listView等帶卷軸的,其實不用..
另外茶道一些相關用法
"stateUnspecified" 未指定小鍵盤隱藏或可見,由系統自訂。這是小鍵盤的默認設定(有打等於沒打?)。
"stateUnchanged" 小鍵盤保持上次的狀態。
"stateHidden" 隱藏小鍵盤。
"stateAlwaysHidden" 小鍵盤總是被隱藏。
"stateVisible" 小鍵盤是可見的。
"stateAlwaysVisible" 小鍵盤總是可見的。
"adjustUnspecified" 已默認的方式調整?
"adjustResize" 該Activity自動調整大小留空間給小鍵盤。
"adjustPan" 該Activity" 不 "自動調整大小留空間給小鍵盤。相反,視窗將自動移動以避免小鍵盤遮到東西。
2013年2月27日 星期三
Android系統16進位色碼
android:textColor="#000000"
基本的紅綠藍
android:textColor="#ff000000"
最前面兩碼表示整體透明度(0~255個等級)
基本的紅綠藍
android:textColor="#ff000000"
最前面兩碼表示整體透明度(0~255個等級)
2013年2月23日 星期六
使用ContentProvider_20130223
package com.example.booksystem_testcontentprovider_20130223;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class TestContentProviderActivity extends Activity {
private ContentResolver myContentResolver;
//建立好用來連結的URI物件,內容就是ContentProvider中的Authority+TableName
private Uri myUri=Uri.parse("content://tw.com.jimbo.FindBook/BooksInfo");
private Button btn1;
private TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_content_provider);
//在onCreate()階段取得ContentProvider實體
myContentResolver=getContentResolver();
findView();
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//呼叫query方法回傳Cursor物件
Cursor myCursor=myContentResolver.query(myUri, null, null, null, null);
if(myCursor != null && myCursor.getCount() > 0){
tv1.setText("");
while(myCursor.moveToNext()){
String isbn=myCursor.getString(1);
String bookName=myCursor.getString(2);
String author=myCursor.getString(3);
tv1.append(isbn+"|"+bookName+"|"+author+"\n");
}
}
}
});
}
private void findView(){
btn1=(Button)findViewById(R.id.button1);
tv1=(TextView)findViewById(R.id.textView1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_test_content_provider, menu);
return true;
}
}
建立ContentProvider_20130223
package com.example.booksystem_20130219;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.UriMatcher;
import android.database.Cursor;
import android.net.Uri;
//在含有資料庫的App中建立一個class繼承ContentProvider
public class BookDBContentProvider extends ContentProvider{
//建立獨一無二的域名
private final static String AUTHORITY="tw.com.jimbo.FindBook";
//供查詢資料表名稱
private final static String DB_TABLE_NAME="BooksInfo";
//建立連此資料庫的路徑(URI物件),注意是public
public final static Uri CONTENT_URI=Uri.parse("content://"+AUTHORITY+"/"+DB_TABLE_NAME);
//建立URI根目錄及資料表的子目錄(節點)
private final static int URI_ROOT=0,DB_TABLE_BOOKS=1;
//建立URI比對物件,建構式放入URI根目錄(節點)的int值
private final static UriMatcher myUriMatcher=new UriMatcher(URI_ROOT);
private BookHelper myBookHelper;
//預先載入區塊加入URI到這個比對物件
static{
myUriMatcher.addURI(AUTHORITY, DB_TABLE_NAME, DB_TABLE_BOOKS);
}
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getType(Uri uri) {
// TODO Auto-generated method stub
return null;
}
@Override
public Uri insert(Uri uri, ContentValues values) {
// TODO Auto-generated method stub
return null;
}
//於onCreate()時期產生BookHelper的物件,產生後回傳true
@Override
public boolean onCreate() {
// TODO Auto-generated method stub
myBookHelper=new BookHelper(getContext());
return true;
}
//覆寫query方法
@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
// TODO Auto-generated method stub
//檢查是否為查詢的節點,不是則回傳null
if(myUriMatcher.match(uri) != DB_TABLE_BOOKS){
return null;
}
Cursor myCursor=myBookHelper.query();
return myCursor;
}
@Override
public int update(Uri uri, ContentValues values, String selection,
String[] selectionArgs) {
// TODO Auto-generated method stub
return 0;
}
}
記得在manifest的application中加入
<provider android:name="com.example.booksystem_20130219.BookDBContentProvider"
android:authorities="tw.com.jimbo.FindBook">
</provider>2013年2月22日 星期五
訂閱:
意見 (Atom)