ஒருஇணையவடிவமைப்பின்போது பயன்படுத்திடும் அடுக்கு பாவணைதாட்களை(Cascading Style Sheet (CSS)) போன்ற அதேவழிமுறையில் ஆண்ட்ராய்டின் பாவணையின் தலைமுறையும் ஆதரிக்கின்றது நடப்பிலிருக்கும் பாவணைகளிலிருந்து பண்புகளின் தலைமுறைமாறுதல்கள் செய்வதற்கு இதனை பயன்படுத்தி கொள்ளமுடியும்பின்னர் அதனுடைய பண்புகளைமட்டும் நாம் மாறுதல்கள் செய்திடவிரும்பியவாறு அல்லது சேரத்திடுவதற்காக வரையறுத்தால் போதும் முன் பகுதியில் பாவணையை வரையறுத்தவாறு CustomFontStyle என்பதன் தலைமுறை மாறுதல்களைஒருபுதிய பாவணையை LargeFont என்பதற்காக உருவாக்குவது மிகஎளிதாகும் ஆனால் எழுத்துருவின் அளவினை பெரியதாக ஆக்குவதற்கு பின்வருமாறு புதிய பாவணையில் நாம் அனுமதிக்கமுடியும்
20ps
நம்முடைய எக்ஸ்எம்எல்லின் புறவடிவமைப்பில்இந்த புதிய பாவணையை @style/CustomFontStyle.LargeFont ஆக மேற்கோள் செய்திடமுடியும். மேலும் நாம் விரும்பும் வரை பலமுறை நாம் தொடர்ந்து தலைமுறைகளுக்கு கால அளவுடன் பெயரை மட்டும் மாறுதல்கள் செய்து இதனை கொண்டுசெல்லமுடியும் உதாரணமாக FontStyle.LargeFontஎன்பதில் Red என பெயரைமட்டும் மாறுதல்செய்து பின்வருமாறுவிரிவாக்கம் செய்திடமுடியும்
?xml version=”1.0″ encoding=”utf-8″?>
#FF0000/>
நம்முடைய சொந்த வளங்களால் பாவணைகளை வரையறுப்பதற்காகமரபுரிமையின் பெயர்களை மட்டும் மாறுதல்கள் செய்வதால் இந்த தொழில் நுட்பம் செயல்படுகின்றது இந்த வழியில் ஆண்ட்ராய்டின் முன்கூட்டியே கட்டமைக்கப்பட்ட பாவணைகளை நம்மால் மரபுரிமையாக கொண்டுசெல்லமுடியாது ஆண்ட்ராய்டின் முன்கூட்டியே கட்டமைக்கப்பட்ட பாவணையை TextAppearance என்றவாறு மேற்கோள்செய்வதற்கு கீழே குறிப்பிட்டுள்ளவாறு பெற்றோர்(parent)களின் பண்புக்கூறுகளை நாம் பயன்படுத்திகொள்ளவேண்டும்
fill_parent
wrap_content
characters
monospace
12pt
#00FF00/>
ஆண்ட்ராய்டின் கருப்பொருட்கள் (Themes )
இதுவரை பயிற்சியில் பார்த்துவந்ததன் அடிப்படையில நாம் இந்த பாவணையின் அடிப்படை கருத்தமைவை பற்றி புரிந்துகொண்டிருப்போம் என நம்பலாம் அதனால் நாம் அதற்கடுத்ததாக ஒரு கருப்பொருள் (Theme )என்றால் என்ன என புரிந்துகொள்ளமுயற்சி செய்திடுவோம் ஒரு கருப்பொருள்என்பது ஒரு தனிப்பட்ட காட்சிக்கு பதிலாக ஒரு செயல்முழுவதும் அல்லது ஒரு பயன்பாடு முழுவதும்ஆண்ட்ராய்டு பாவணையை நடைமுறைபடுத்துவதைதவிர வேறுஒன்றுமில்லை இவ்வாறாக ஒரு பாவணையானது ஒரு கருப்பொருளாக நடைமுறைபடுத்திடும்போதுஇந்த செயல்களின் ஒவ்வொரு காட்சி(View) அல்லது அது ஆதரிக்கின்றஒவ்வொரு பாவணையின்பண்புகளில் பயன்பாடு செயல்படுத்திடுவதாகும் உதாரணமாக நாம் பயன்படுத்திடும் அதே CustomFontStyle எனும் பாவணையை ஒரு செயலிற்காக ஒரு கருப்பொருளாக செயல்படுத்திடமுடியும் பின்னர் அந்த செயலிற்குள்(Activity) உள்ள அனைத்து உரைகளும் ஒற்றையான பச்சைவண்ண எழுத்துருவாக தோன்றிடும் .நம்முடைய பயன்பாட்டில் அனைத்து செயல்களுக்காக இந்த கருப்பொருளை அமைப்பதற்கு AndroidManifest.xmlஎனும் கோப்பினை திறக்கவும்
பின்னர் பாவணையின் பெயருடன் android:theme என்பதன் பண்புக்கூறும் உள்ளிணைந்ததாக செய்வதற்கு எனும்டேக்கினை திருத்தம் செய்திடவும் உதாரணமாக
ஆனால் நாம் ஒரு கருப்பொருளை ஒரு செயலிற்கு எனும் டேக்கினை மட்டும் செயல்படுத்திடுவிரும்பினால் android:theme என்பதன் பண்புக்கூறினை Activity எனும் டேக்கினை மட்டும் சேர்த்திடுக எடுத்துக்காட்டாக
…
ஆண்ட்ராய்டால் வரையறுக்கப்பட்ட இயல்புநிலைகருப்பொருட்கள் ஏராளமான அளவில் உள்ளன இவைகளை நாம் நேரடியாக பயன்படுத்தி கொள்ளலாம் அல்லது நாம் அவைகளை பின்வருமாறு பெற்றோர்(parent) பண்புக்கூறுகளாக பயன்படுத்தி மரபுரிமையாக பயன்படுத்திகொள்ளலாம்
…
ஆன்ட்ராய்டு கருப்பொருளின் கருத்தமை புரிந்து கொள்வதற்கு இதனை நாம்கீழே கொடுக்கப்பட்டுள்ள Theme Demo எனும் எடுத்துகாட்டில் சரிபார்த்து கொள்ளலாம்
பின்வரும் எடுத்துகாட்டானது ஒரு பயன்பாட்டிற்காக ஒரு கருப்பொருளை எவ்வாறு நாம் பயன்படுத்திடமுடியும் என மாதிரிசெயல்விளக்கமாக அமைகின்றது மாதிரி செயல்விளக்கத்திற்காக நாம் நம்முடைய இயல்பிநிலையில் உள்ள AppThem eஎனும் பயன்பாட்டில் இயல்புநிலை உரை அதன் அளவு அதன் குடும்பம் அதன்நிழல் போன்றவைகளை நாம் மாறுதல்கள் செய்திடுவோம் பின்வரும் படிமுறைகளை பின்பற்றி ஒரு எளிய ஆண்ட்ராய்டு பயன்பாட்டினை உருவாக்குவதன் வாயிலாக நாம் இந்த பணியினை நாம் துவக்குவோம்
பின்வருவதுfilesrc/com.example.themedemo/MainActivity.java எனும் மாறுதல்கள் செய்யப்பட்ட முதன்மை கோப்புகளின் உள்ளடக்கமாகும் இந்த கோப்பு ஒவ்வொரு அடிப்படை வாழ்க்கை சுழற்சி வழிமுறைகளை உள்ளிணைந்ததாக்க முடியும
package com.example.themedemo;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//— find both the buttons—
Button sButton = (Button) findViewById(R.id.button_s);
Button lButton = (Button) findViewById(R.id.button_l);
// — register click event with first button —
sButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// — find the text view –
TextView txtView = (TextView) findViewById(R.id.text_id);
// — change text size —
txtView.setTextSize(20);
}
});
// — register click event with second button —
lButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// — find the text view —
TextView txtView = (TextView) findViewById(R.id.text_id);
// — change text size —
txtView.setTextSize(24);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
பின்வருவது res/values/style.xml எனும் கோப்பின் உள்ளடக்கமாகும் இது CustomButtonStyle எனும் கூடுதல் பாவனைகளை வரையறுத்துள்ளது
<!– Application theme. →
characters
monospace
1.2
1.2
2
#494948/>
center
3dp
5pt
#000000
100dp
38dp
பின்வருவது res/layout/activity_main.xml எனும் கோப்பின் உள்ளடக்கமாகும
பின்வருவது res/values/strings.xml என்பதன் புதிய இருமாறிலிகளை வரையறுப்பதற்கானதாகும்
ThemeDemo
Settings
Hello world!
Small Font
Large Font
பின்வருவது AndroidManifest.xml எனும் கோப்பின் இயல்புநிலை உள்ளடக்கமாகும் இதில் நாம் வேறு எதனையும் மாறுதல்கள் செய்திடவேண்டாம் ஏனெனில் நாம் கருப்பொருளின் பெயரை மாறுதல்கள் செய்திடாமல் அப்படியே வைத்திருக்கவேண்டும் ஆனால் புத்தம் புதிய கருப்பொருளை வரையறுத்தாலோ அல்லது வேறு பெயரில் இயல்புநிலை கருப்பொருளை மரபுரிமையாக பெற்றாலோ AppTheme எனும் பெயரை புதிய பெயராக மாற்றியமைத்திடவேண்டியிருக்கும்
</manifest
சற்றுமுன் நம்மால் மாறுதல்கள் செய்யப்பட்ட "ThemeDemo "எனும் பயன்பாட்டினை இயக்க முயற்சி செய்வோம்! சூழல் அமைவை செயற்படுத்திடும் போதே நாம் நம்முடைய AVDஐ உருவாக்கிவிட்டதாக கருதி(எடுத்து)கொள்க எக்லிப்ஸிலிருந்து இந்த பயன்பாட்டினை இயக்குவதற்கு நம்முடைய செயல்திட்டங்களின் கோப்புகளில் ஒன்றாக திறந்து கொள்க தொடர்ந்து கருவிப் பட்டையிலிருந்து Run எனும் உருவப்பொத்தானை தெரிவுசெய்து சொடுக்குக. உடன் எக்லிப்ஸானது இந்த பயன்பாட்டினை நம்முடைய AVD இல்நிறுவுகை செய்யத்துவங்கிடும் அதனைதொடர்ந்து நம்முடைய பயன்பாட்டிலும் கட்டமைவிலும் உள்ள அனைத்தும் மிகச்சரியாக இருக்கின்றது எனில் அது பின்வரும் முன்மாதிரி சாளரத்தினை திரையில் காண்பிக்கும்
இயல்புநிலை பாவணைகளும் கருப்பொருட்களும்
ஆண்ட்ராய்டு தளத்தில் ஏராளமான அளவில் பாவணைகளும் கருப்பொருட்களும் தொகுக்கப்பட்டு நாம் நம்முடைய பயன்பாடுகளில் பயன்படுத்தி கொள்வதற்காக தயாராக வைக்கப்பட்டுள்ளன நாம் இவையனைத்தையும் R.style எனும் இனத்தினை மேற்கோள் செய்வதன் வாயிலாக இதனை நாம் காணமுடியும் அவ்வாறு பட்டியலிடப்பட்ட பாவணைகளை பயன்படுத்தி கொள்வதற்கு இந்த பாவணைகளின் பெயர்களிடையே உள்ள அடிக்கோட்டினை மட்டும் நீக்கம் செய்துவிட்டு அதற்கு பதிலாக இடைவெளிமட்டும் விட்டால் போதும் உதாரணமாக Theme_NoTitleBar theme எனும் பெயருக்கு பதிலாக”@android:style/Theme.NoTitleBar”. எனும் பெயராக பயன்படுத்தி கொள்ளமுடியும் பாவணைகளுக்கும் கருப்பொருட்களுக்கும் ஆன மூலக்குறிமுறைவரிகளை https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/styles.xml , https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/themes.xml ஆகிய இணையபக்கங்களுக்கு சென்று காணமுடியும்