Android 개발 - 간단 한 TextView 에서 안 드 로 이 드 컨트롤 디 스 플레이 방식 보기

Android 에서 가장 간단 하고 가장 흔히 볼 수 있 는 컨트롤 TextView 는 텍스트 정 보 를 표시 하 는 데 사 용 됩 니 다.오늘 은 이 컨트롤 부터 안 드 로 이 드 의 컨트롤 디 스 플레이 방식 과 관련 된 내용 을 이야기 합 니 다.
1. Android 에 서 는 컨트롤 을 표시 할 수 있 는 두 가지 방법 이 있 습 니 다.
1. Activity 클래스 코드 에 직접 생 성하 고 표시 합 니 다. 이것 은 J2SE 에서 Swing 으로 구 성 된 용법 과 같 습 니 다.
TextView tv = new TextView(this);
tv.setText("http://blog.csdn.net/xn4545945");
setContentView(tv);

2. xml 레이아웃 파일 을 통 해 생 성하 고 표시 합 니 다.
setContentView(R.layout.main); 
//   SpannableStringBuilder            。
String str = "xn4545945     !";
SpannableStringBuilder s = new SpannableStringBuilder(str);
s.setSpan(new ForegroundColorSpan(Color.RED), 0, 9,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
s.setSpan(new ForegroundColorSpan(Color.CYAN), 9, 14,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
s.setSpan(new ForegroundColorSpan(Color.GRAY), 14, 15,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv1.setText(s);

src/res/layot/에 main. xml 파일 이 있 습 니 다. setContentView (R. layot. main) 의 R. layot. main 은 이 main. xml 파일 을 말 합 니 다.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<!--          -->
<TextView
android:id="@+id/xn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/xn" />
<!--           -->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text="@string/marquee" />


</LinearLayout>

두 가지 방법 모두 컨트롤 을 만 들 고 표시 하고 설정 하 며 표시 할 수 있 지만 기본적으로 Activity 를 새로 만 들 때 다음 과 같은 코드 가 있 음 을 알 수 있 습 니 다.
super.onCreate(savedInstanceState);
 setContentView(R.layout.main);

이 를 통 해 알 수 있 듯 이 Android 는 xml 레이아웃 파일 로 컨트롤 을 만 들 고 표시 하 는 것 을 추천 합 니 다.
이런 방법 은 첫 번 째 방법 에 비해 장점 이 매우 많다.그 중에서 가장 중요 한 것 은 보기 와 코드 분 리 를 실현 하여 미화 원 들 이 xml 파일 의 레이아웃 에 전념 할 수 있 도록 하고 논리 적 제어 부분 을 작성 하 는 사람들 이 컨트롤 이 어떻게 표시 되 는 지 걱정 하지 않 아 도 된다 는 것 이다.그 는 첫 번 째 방법 처럼 컨트롤 을 표시 하 는 코드 를 제어 하 는 코드 와 섞 지 않 았 다.이것 은 사실 MVC 디자인 모델 에서 층 을 나 누 는 사상 과 같다.Flex 를 배 운 학생 들 이 익숙 하 다 고 느 낄 수 있 습 니 다. Flex 의 spark 구성 요소 의 등장 은 컨트롤 을 만 드 는 코드 와 컨트롤 스타일 을 설정 하 는 코드 를 분리 시 켜 더욱 유연 하고 편리 하 게 조작 할 수 있 도록 하 는 것 입 니 다.
알림 이 필요 한 것 은 set ContentView (...) 가 한 번 만 나타 날 수 있 고 마지막 으로 나타 나 는 것 을 기준 으로 합 니 다.즉, 두 번 째 로 이 방법 을 호출 할 때 그 는 첫 번 째 호출 결 과 를 덮어 쓰 고 Activity 에 두 번 째 설정 컨트롤 만 표시 한 다 는 것 이다.
2. 컨트롤 스타일 을 임의로 설정 합 니 다.
컨트롤 을 오각형, 십 변형 으로 설정 해 야 할 수도 있 지만 레이아웃 파일 의 속성 에서 이런 설정 을 하 는 방법 을 찾 을 수 없습니다.
이것 은 Android 가 더욱 유연 한 설정 속성 인 android: background = "를 제공 한 것 입 니 다.
이 방법 도 xml 파일 을 지정 하여 컨트롤 스타일 을 설정 합 니 다.다음은 간단 한 예 를 제공 합 니 다.
<EditText
android:id="@+id/et1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="hahahaahahahhahah"
android:maxLength="4" 
android:drawableLeft="@drawable/log"
android:background="@drawable/shape"/><!--    drawable     shape.xml-->

shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FF00FF"/><!--      -->
<corners android:radius="14dip"/><!--      -->
</shape>

전재 출처 를 밝 혀 주 십시오 http://blog.csdn.net/xn4545945
개인 웨 이 보:http://weibo.com/xuneng007

좋은 웹페이지 즐겨찾기