Ресурси

Submitted by gary on Sat, 02/02/2013 - 01:00

Всі ресурси зберігаються в папці /res/. Зараз цікавлять саме константи, які лежать в /res/values/

Створюю власний файл з різними типами ресурсів: /res/values/myres.xml

<resources>
    <string name="tvTopText">Верхний текст</string>
    <string name="btnTopText">Верхняя кнопка</string>
    <string name="tvBottomText">Нижний текст</string>
    <string name="btnBottomText">Нижняя кнопка</string>
    <color name="llTopColor">#336699</color>
    <color name="llBottomColor">#339966</color>
</resources>

Створюю layout:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical">

<LinearLayout
    android:id="@+id/llBottom"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="2"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/llTop"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@color/llTopColor"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tvTop"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="30dp"
            android:text="@string/tvTopText" />

        <Button
            android:id="@+id/btnTop"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="@string/btnTopText" />
    </LinearLayout>

    <TextView
        android:id="@+id/tvBottom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"       
        android:layout_marginTop="30dp"
        android:text="TextView" />

<Button
    android:id="@+id/btnBottom"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:text="Button" >
</Button>
</LinearLayout>
</LinearLayout>

І виконую наступний код:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

LinearLayout llBottom = (LinearLayout) findViewById(R.id.llBottom);
TextView tvBottom = (TextView) findViewById(R.id.tvBottom);
Button btnBottom = (Button) findViewById(R.id.btnBottom);

llBottom.setBackgroundResource(R.color.llBottomColor);
tvBottom.setText(R.string.tvBottomText);
btnBottom.setText(R.string.btnBottomText + " haha Rid and text " + getResources().getString(R.string.btnBottomText));
}
...

Результат: