NoActivity+NoXML에서 진정한 Helloworld 열기

2829 단어 Android

NoActivity에서 Hello World와 공감을 하고 있습니다.


따라서 좀 더 깊이 들어가 NOXML, Activity 클래스의 자기 정의로 진행하자.
Android Studio를 준비하십시오.

프로젝트 작성


새로운 프로젝트를 만들다.

당연히 NoActivity죠.

Activity 제작


Java반에서 Activity를 직접 제작합니다.

MainActivity.java
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        RelativeLayout rootView = new RelativeLayout(this,null);
        ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);
        addContentView(rootView,params);

        TextView hello = new TextView(this);
        hello.setText("Hello World!!");
        RelativeLayout.LayoutParams textLayoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
        textLayoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
        hello.setLayoutParams(textLayoutParams);
        rootView.addView(hello);
    }
}
Manifast의 Aplication 사이에 Activity 기술을 추가합니다.
AndroidManifast.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="jp.sample.app.noxmlhelloworld">
    <application android:allowBackup="true"
        android:label="@string/app_name"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity"
            android:theme="@android:style/Theme.Light.NoTitleBar"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
이렇게 LayoutXML도 필요 없는 Hello World가 완성됐다.

돌아보다


Android Studio는 Navigation Drawer가 내놓은 고급 앱을 자동으로 생성해 경험이 없는 사람에게는 이해하기 쉽기 때문에 자바로만 조합하는 것이 좋은 훈련이다.좋은 시도였어.
자바 측의 정의 방법, 뷰에 설정된 LayoutParam이 부모 뷰그룹인 학급의 내부 학급으로 존재하는 점 등을 이해했다.

좋은 웹페이지 즐겨찾기