Sunday, December 15, 2013

Set layout programmatically

This example show how to set paddings and margins programmatically with Java code.

set paddings and margins programmatically
set paddings and margins programmatically

package com.example.androidadjlayout;

import android.os.Bundle;
import android.app.Activity;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;

public class MainActivity extends Activity {

LinearLayout mainLayout;
SeekBar settingPadding, settingMargin2;
ImageView image1, image2;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainLayout = (LinearLayout)findViewById(R.id.mainlayout);
settingPadding = (SeekBar)findViewById(R.id.setmainpadding);
settingMargin2 = (SeekBar)findViewById(R.id.setimage2margin);
image1 = (ImageView)findViewById(R.id.image1);
image2 = (ImageView)findViewById(R.id.image2);

settingPadding.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){

@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
mainLayout.setPadding(progress, progress, progress, progress);
}

@Override
public void onStartTrackingTouch(SeekBar arg0) {
}

@Override
public void onStopTrackingTouch(SeekBar arg0) {
}});

settingMargin2.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){

@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
LinearLayout.LayoutParams layoutParams = (LayoutParams) image2.getLayoutParams();
layoutParams.setMargins(progress, progress, progress, progress);
image2.setLayoutParams(layoutParams);
}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}

@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}});
}

}


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mainlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="5dp"
android:orientation="vertical"
tools:context=".MainActivity"
android:background="#303030" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#A00000"
android:textStyle="bold|italic"
android:text="android-coding.blogspot.com" />
<SeekBar
android:id="@+id/setmainpadding"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="5"/>
<SeekBar
android:id="@+id/setimage2margin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="5"/>
<ImageView
android:id="@+id/image1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:background="#505050"/>
<ImageView
android:id="@+id/image2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:src="@drawable/ic_launcher"
android:background="#808080" />

</LinearLayout>

No comments:

Post a Comment