안 드 로 이 드 의 상용 기초 응용 지식 총화
1, canvas.drawBitmap()그림 전체 화면 표시
때때로 우 리 는 canvas.drawBitmap()를 사용 할 때 그림 을 전체 화면 에 표시 해 야 합 니 다.이 럴 때 우 리 는 이렇게 할 수 있 습 니 다.
DisplayMetrics displaymetrics = new DisplayMetrics();
height = getResources().getDisplayMetrics().heightPixels;
width = getResources().getDisplayMetrics().widthPixels;
Rectf rectF = new RectF(0, 0, width, height ); //
canvas.drawBitmap(bitmap, null, rectF, null);
2. 리 턴 키 와 홈 키 의 차이
back 키 의 기본 동작 은 finish 가 프론트 에 있 는 Activity,즉 Activity 의 상태 가 Destroy 상태 일 때 까지 이 Activity 를 다시 시작 하 는 것 은 onCreate 에서 시작 합 니 다(onSave InstanceState 방법 을 호출 하지 않 습 니 다).홈 키 는 기본적으로 stop 프론트 데스크 톱 의 Activity 입 니 다.즉,상태 가 onStop 일 때 까지 입 니 다.다시 시작 하면 onSave InstanceState 방법 을 사용 합 니 다.지난번 Activity 상 태 를 유지 하 는 것 은 OnRestart 에서 시 작 됩 니 다.->onStart()->onResume().
3.android:paddingLeft 와 android:layotmargin Left 의 차이
버튼 이 상기 두 속성 을 각각 설정 할 때 얻 는 효 과 는 다르다.
android:paddingLeft="30px"
단추 에 설 정 된 내용(예:그림)단추 왼쪽 경계 에서 30 개의 픽 셀
android:layout_marginLeft="30px" 전체 단 추 는 왼쪽 에 설 치 된 내용 30 픽 셀 에서 떨 어 집 니 다.
4 현재 네트워크 상태 판단
<span style="font-size:18px;">import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public boolean isNetworkConnected() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
return ni != null && ni.isConnectedOrConnecting();
}</span>
5. 응용 권한
6.activity 를 계속 세로 로 설정
7.화면 을 계속 밝 게 설정
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
8
.인터페이스 로 딩 과정 을 설정 하여 블랙 스크린 이나 화이트 스크린 현상 을 피한다.
<style name="Theme.NoDisplay" parent="@android:Theme">
<item name="android:windowBackground">@null</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowAnimationStyle">@null</item>
<item name="android:windowDisablePreview">true</item>
<item name="android:windowNoDisplay">false</item>
</style>
주 프로필 에 주 함수 추가 android:theme="@style/Theme.NoDisplay"
9.모 바 일 애플 리 케 이 션 이 지정 한 apk 를 설치 하 는 지 확인 합 니 다.
boolean d() {
String packageName = "com.iflytek.speechcloud";
List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
for (int i = 0; i < packages.size(); i++) {
PackageInfo packageInfo = packages.get(i);
if (packageInfo.packageName.equals(packageName)) {
return true;
} else {
continue;
}
}
return false;<span style="background-color: inherit; font-family: ;">}</span>
10.화면 제목 없 음 설정
import android.view.Window;
requestWindowFeature(Window.FEATURE_NO_TITLE);
11.백 키 감청
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
exitApp();
return true;
}
return super.onKeyDown(keyCode, event);
}
12.팝 업 대화 상자 옵션
new AlertDialog.Builder(IndexActivity.this)
.setTitle(getString(R.string.exittitle))
.setMessage(getString(R.string.exit))
.setIcon(R.drawable.iconapp)
.setPositiveButton(getString(R.string.ok),
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface paramDialogInterface,
int paramInt) {
}
})
.setNegativeButton(getString(R.string.cancel),
new DialogInterface.OnClickListener() {
public void onClick(
DialogInterface paramDialogInterface,
int paramInt) {
finish();
}
}).show();
13.장치 관리,장치 표시 이름 가 져 오기
Build bd = new Build();
String model = bd.MODEL; //poineer sw590
String brand=bd.BRAND; //poineer
14.폭력 클릭 버튼 을 방지 하 는 방법
(타이머 추가 가능,1~3 초 후 두 번 째 클릭 가능)
private Handler mHandler =new Handler();
public void onClick(View v){
v.setEnabled(false);
mHandler.postDelay(new Runable(){
public void run(){
v.setEnabled(true);
}
}),2000);
}
15.. GirdView 단일 아 이 템 선택 효과 추가
클릭 하면 그림 주위 에 녹색 테두리 효과 가 나타 납 니 다.
속성:pictureGridView.
setSelector(R.drawable.menuitemshape);
그리고 drawable 파일 에 추가:
menuitemshape.xml 파일
android:color="#00FF00" />
android:left="5dp"
android:right="5dp"
android:top="7dp" />
16.화면 테 두 리 는 타원형 이 고 모서리 가 원호 형 이 며 직각 이 아니다.
먼저 레이아웃 파일 에서:외부 레이아웃 을 정의 하고 설정:
android:layout_height="fill_parent"
android:background="@color/black"
android:orientation="vertical" >
android:layout_height="fill_parent"
android:layout_margin="3px"
android:background="@drawable/round_rect_shape"
android:orientation="vertical" >
그리고 drawable 파일 에 추가 합 니 다.
round_rect_shape.xml
android:color="#FF99CC" />
android:endColor="#99CCFF"
android:startColor="#99CCFF" />
17. 갤러리 사용
startActivity(new Intent(
Intent.ACTION_VIEW,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
.putExtra("slideshow", true).addFlags(
Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TOP));
18.홈 키 사용
startActivity(new Intent(Intent.ACTION_MAIN)
.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TOP)
.addCategory(Intent.CATEGORY_HOME));
19.병 음 변환 도구 클래스
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
public class PinyinUtil {
/**
* @param list
* @return
*/
public static List<String> getPinyinList(List<String> list) {
List<String> pinyinList = new ArrayList<String>();
for (Iterator<String> i = list.iterator(); i.hasNext();) {
String str = (String) i.next();
try {
String pinyin = getPinYin(str);
pinyinList.add(pinyin);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}
return pinyinList;
}
public static String getPinYin(String zhongwen)
throws BadHanyuPinyinOutputFormatCombination {
String zhongWenPinYin = "";
//
char[] chars = zhongwen.toCharArray();
for (int i = 0; i < chars.length; i++) {
String[] pinYin = PinyinHelper.toHanyuPinyinStringArray(chars[i],
getDefaultOutputFormat());
if (pinYin != null) {
zhongWenPinYin += pinYin[0];
} else {
zhongWenPinYin += chars[i];
}
}
return zhongWenPinYin;
}
private static HanyuPinyinOutputFormat getDefaultOutputFormat() {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.UPPERCASE);//
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);//
format.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON);//
return format;
}
}
20. 데스크 톱 에 사용 할 아이콘 두 개 보이 기
주 프로필 에서
<activity
android:name="a.h.AActivity"
android:label="@string/app_name"
android:theme="@style/Theme.NoDisplay"
android:icon="@drawable/icon">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
두 개의 아이콘 을 기억 하 십시오.두 개의 activity 가 필요 합 니 다.이 아이콘 을 추가 하 십시오.
설정
21. ScrollView 아래 에 하나의 루트 레이아웃 만 있 을 수 있 고 여러 개가 나타 날 수 없습니다.
21. back 키 로 두 번 클릭 하여 응용 프로그램 종료
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
long secondTime = System.currentTimeMillis();
if (secondTime - firsttime > 2000) { // 2 ,
toast(getResources().getString(R.string.exit));
firsttime = secondTime;// firstTime
return true;
} else { // 2 ,
finish();
}
break;
}
return super.onKeyUp(keyCode, event);
}
onBackpress()방법 으로 되 돌 릴 때 효과 가 없습니다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.