2012. 11. 30. 15:11

 

<com.example.android.apis.view.LabelView
            android:background="@drawable/red"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:text="Red"/>
   
    <com.example.android.apis.view.LabelView
            android:background="@drawable/blue"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:text="Blue" app:textSize="20dp"/>
   
    <com.example.android.apis.view.LabelView
            android:background="@drawable/green"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:text="Green" app:textColor="#ffffffff" />

 

values/color.xml

 

<resources>
    <drawable name="red">#7f00</drawable>
    <drawable name="blue">#770000ff</drawable>
    <drawable name="green">#7700ff00</drawable>

 <drawable name="yellow">#77ffff00</drawable>
 
 <drawable name="screen_background_black">#ff000000</drawable>
    <drawable name="translucent_background">#e0000000</drawable>
    <drawable name="transparent_background">#00000000</drawable>

    <color name="solid_red">#f00</color>
    <color name="solid_blue">#0000ff</color>
    <color name="solid_green">#f0f0</color>
    <color name="solid_yellow">#ffffff00</color>

</resources>

Posted by hoonihoon
2012. 11. 28. 16:58

 

@ 스크린 사이즈 구하기

DisplayMetricsdm = new DisplayMetrics();

getWindowManager().getDefeaultDisplay().getMetrics(dm);

dm.widthPixels;

dm.heightPixels;

 

@ 레이아웃 사이즈 구하기

LinearLayout animLayout;

animLayout = (LinearLayout) findViewById(R.id.anim_layout);

int w = animLayout.getMeasuredWidth();

int h = animLayout.getMeasuredHeight();

Posted by hoonihoon
2012. 11. 15. 16:54

퍼온 곳 :http://javaexpert.tistory.com/trackback/457

 

Hello Friends,

There are two or many more header listview in android. So Today we are discussed about the two header of android.

And See Also Simple Listview Display In Android Device.

So This are the all java and xml file given below. and this are the very useful projects.

main.xml


<?xml version="1.0" encoding="utf-8"?>
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="true"
/>

header.xml

<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center" android:scrollbars="none"
style="?android:attr/listSeparatorTextViewStyle" />

Now The java File code Given below.

SectionedAdapter .java

package com.android.listview;

import android.view.View;
import android.view.ViewGroup;
import android.widget.Adapter;
import android.widget.BaseAdapter;
import java.util.ArrayList;
import java.util.List;

abstract public class SectionedAdapter extends BaseAdapter {
abstract protected View getHeaderView(String caption, int index,
View convertView, ViewGroup parent);

private List
sections = new ArrayList
();
private static int TYPE_SECTION_HEADER = 1;

public SectionedAdapter() {
super();
}

public void addSection(String caption, Adapter adapter) {
sections.add(new Section(caption, adapter));
}

public Object getItem(int position) {
for (Section section : this.sections) {
if (position == 0) {
return (section);
}

int size = section.adapter.getCount() + 1;

if (position <>
return (section.adapter.getItem(position - 1));
}

position -= size;
}

return (null);
}

public int getCount() {
int total = 0;

for (Section section : this.sections) {
total += section.adapter.getCount() + 1; // add one for header
}

return (total);
}

public int getViewTypeCount() {
int total = 1; // one for the header, plus those from sections

for (Section section : this.sections) {
total += section.adapter.getViewTypeCount();
}

return (total);
}

public int getItemViewType(int position) {
int typeOffset = TYPE_SECTION_HEADER + 1; // start counting from here

for (Section section : this.sections) {
if (position == 0) {
return (TYPE_SECTION_HEADER);
}

int size = section.adapter.getCount() + 1;

if (position <>
return (typeOffset + section.adapter
.getItemViewType(position - 1));
}

position -= size;
typeOffset += section.adapter.getViewTypeCount();
}

return (-1);
}

public boolean areAllItemsSelectable() {
return (false);
}

public boolean isEnabled(int position) {
return (getItemViewType(position) != TYPE_SECTION_HEADER);
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
int sectionIndex = 0;

for (Section section : this.sections) {
if (position == 0) {
return (getHeaderView(section.caption, sectionIndex,
convertView, parent));
}

int size = section.adapter.getCount() + 1;

if (position <>
return (section.adapter.getView(position - 1, convertView,
parent));
}

position -= size;
sectionIndex++;
}

return (null);
}

@Override
public long getItemId(int position) {
return (position);
}

class Section {
String caption;
Adapter adapter;

Section(String caption, Adapter adapter) {
this.caption = caption;
this.adapter = adapter;
}
}
}

Selection.java


package com.commonsware.android.listview;

import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class SectionedDemo extends ListActivity {
private static String[] items = { "US", "UK", "CANADA", "JAPAN", "SINGAPORE",
"INDIA", "CHINA" };

private static String[] Sect = { "GOOGLE", "FACEBOOK","DELL" };

private static String[] Doc = { "FRONT", "TOP","BACK" };

@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);

adapter.addSection("step 1", new ArrayAdapter(this,
android.R.layout.simple_list_item_1, items));

adapter.addSection("Step 2", new ArrayAdapter(this,
android.R.layout.simple_list_item_1, Sect));

adapter.addSection("Step 3", new ArrayAdapter(this,
android.R.layout.simple_list_item_1, Doc));

setListAdapter(adapter);
}

SectionedAdapter adapter = new SectionedAdapter() {
protected View getHeaderView(String caption, int index,
View convertView, ViewGroup parent) {
TextView result = (TextView) convertView;

if (convertView == null) {
result = (TextView) getLayoutInflater().inflate(
R.layout.header, null);
}

result.setText(caption);

return (result);
}
};
}


And Now The output given below.






Posted by hoonihoon
2012. 11. 14. 14:35

android:singleLine="true" : 한줄에 표시
android:ellipsize="none" : 한줄이 넘을 경우 '...' 표시하지 않음
android:ellipsize="start" : 한줄이 넘을 경우 '...' 을 문장 앞에 표시
android:ellipsize="middle" : 한줄이 넘을 경우 '...' 을 문장 가운데 표시
android:ellipsize="end" : 한줄이 넘을 경우 '...' 을 문장 끝에 표시

android:ellipsize="marquee" : text가 좌에서 우로 이동하는 효과

android:singleLine="true"
android:focusable="true" <-- 3개의 속성을 함께 지정해야함

그리고 소스에서 setSelected(true); 를 설정해야 함

'Android > 개발팁' 카테고리의 다른 글

Android 스크린 사이즈와 layout size 구하기  (0) 2012.11.28
ListView 에 제목줄 을 달아 보자  (0) 2012.11.15
EditText 글자 짤림 현상  (0) 2012.08.27
한글 처리 문제  (0) 2012.08.27
SoftKeyboard 생성, 삭제  (0) 2012.08.27
Posted by hoonihoon
2012. 8. 27. 09:44

EditText안에 파일 왼쪽위로 정렬

android:gravity="top|left"     

 

공간두기   ( j , q 의 짤림현상이 발생했을때

android:lineSpacingExtra="2sp"

 

'Android > 개발팁' 카테고리의 다른 글

ListView 에 제목줄 을 달아 보자  (0) 2012.11.15
Text 관련 처리 (한줄 넘어가는 현상)  (0) 2012.11.14
한글 처리 문제  (0) 2012.08.27
SoftKeyboard 생성, 삭제  (0) 2012.08.27
타이틀바 없애기  (0) 2012.08.27
Posted by hoonihoon
2012. 8. 27. 09:43
안드로이드 애플리케이션 하나 만들어보려고 깔짝거리고 있다.

그런데 웹페이지를 긁어와 파싱하는걸 하는 중에 문제가 발생했다.


일단 에뮬레이터에 올리기 전에 콘솔 출력 프로그램으로 해보고 제대로 되면
안드로이드쪽으로 올리는 편인데

콘솔쪽에선 잘 되는 프로그램에 안드로이드로만 올리면 애가 뻗어버린다.
 
알았어 임마
 
디버거 붙여서 돌려보니 애가 무한 루프를 돌다 뻗어버리는데
루프 탈출 조건이 "테이블 끝" 이란 문자열을 발견하면 탈출하는 건데 이 조건을 만족 못하고 있었다.
 
그래서 한글을 찍어봤더니
 
 
역시 한글 문제였다.
 
웹페이지를 읽어올 때 인코딩이 맞지 않아 생기는 문제인듯 싶어 해결법을 찾아보니
스트림 리더 열 때 어떤 인코딩인지 알려주면 된다고 한다.
 
   InputStream in = httpConnection.getInputStream();
   InputStreamReader isr = new InputStreamReader(in, "euc-kr");
 
요렇게 해주니 정상 작동된다.
 

 

출처 Glamorous Dayz | el
원문 http://blog.naver.com/elfinx/130081768138
  
Posted by hoonihoon
2012. 8. 27. 09:41

생성

InputMethodManager inputMethodManager =
             (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
         inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);

 

생성시 인자에 대한 문제때문에 toggle로 하였다.

This method toggles the input method window display. If the input window is already displayed, it gets hidden. If not the input window will be displayed.

 

삭제

InputMethodManager inputMethodManager =
            (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
         inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),0);

 

'Android > 개발팁' 카테고리의 다른 글

EditText 글자 짤림 현상  (0) 2012.08.27
한글 처리 문제  (0) 2012.08.27
타이틀바 없애기  (0) 2012.08.27
화면전환시 다이어로그가 사라지는문제  (0) 2012.08.27
안드로이드 기본  (0) 2012.08.27
Posted by hoonihoon
2012. 8. 27. 09:41

* TitleBar 없애기

1) AndroidManifest.xml 에서 TitleBar 없애기
activity태그에 android:theme="@android:style/Theme.NoTitleBar" 를 추가한다.
그리고 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 을 주게 되면 상단의 시계와 배터리 보이는 부분까지 없어짐으로 화면전체를 FullScreen으로 사용할 수 있다. 

2) Activity 소스상에서 TitleBar 없애기
requestWindowFeature(Window.FEATURE_NO_TITLE);
단, onCreate의 super.onCreate(...); 다음에 넣어야 함.

* Title Text 수정하기 (Activity에서 실행되어야 함)
setTitle((CharSequence)title);

 

'Android > 개발팁' 카테고리의 다른 글

EditText 글자 짤림 현상  (0) 2012.08.27
한글 처리 문제  (0) 2012.08.27
SoftKeyboard 생성, 삭제  (0) 2012.08.27
화면전환시 다이어로그가 사라지는문제  (0) 2012.08.27
안드로이드 기본  (0) 2012.08.27
Posted by hoonihoon