2010-04-02 8 views

답변

16

그렇게하는 가장 간단한 방법은, IMHO, (매니페스트에서 <activity> 요소 android:theme="@android:style/Theme.NoTitleBar") 표준 제목 표시 줄을 제거하고 상단에 자신의 "제목 표시 줄"을 넣어 얻는 것입니다 활동의

그러나 "제목 표시 줄의 단추"스타일은 더 많은 iPhone입니다. 안드로이드는 전형적으로 옵션 메뉴에서 그것을 가지므로, UI가 덜 복잡해집니다 (새로 고침을하기 위해 두 번 탭하는 비용으로).

+6

을 시도하지 않는, 안드로이드는 지금의 포함을 옹호 자주 반복되는 작업을위한 버튼이있는 일관된 제목 표시 줄. 예를 들어, Google I/O 2010 앱 및 Twitter UI 디자인 패턴 블로그 게시물 (http://android-developers.blogspot.com/2010/05/twitter-for-android-closer-look-at.html)을 참조하십시오. –

1

더 나은 접근법은 처리기를 사용하여 활성화 된 경우 단순히보기를 새로 고치는 것입니다. 활동이 재개 될 때 내용을 끌어 올리면 나가고 다시보기로 돌아올 때마다 새로 고침됩니다. 사용자가 뷰의 최상위 레벨에 앉아서 정보를 업데이트해야하는 경우 지연된 핸들러를 사용하여이를 처리 할 수 ​​있습니다.이 핸들러는 재개 메소드를 호출하고 뷰를 주기적으로 새로 고침하여 버튼이 필요 없도록합니다.

Here은 핸들러 클래스에 대한 문서에 대한 링크입니다. 나는 핸들러의 기본적인 사용 방법을 살펴봄으로써 시작할 것입니다. 그런 다음 sendMessageDelayed 메소드를 테스트하여 모든 호출이 끝날 때마다 핸들러를 다시 시작하십시오. 또한 액티비티가 최고 액티비티 인 경우에만 새 처리기를 만들고 UI가없는 경우 새로 고침하지 않아도됩니다. 일시 정지 및 이력서에 간단한 isActive 플래그를 추가하면 괜찮은 방법입니다.

+1

데이터 계획을 무제한으로 가정합니다. 모든 사람이 무제한 데이터 플랜을 가지고있는 것은 아닙니다. 다른 것들은 메가 바이트 단위로 지불합니다. 옵션으로 자동 새로 고침은 멋지다. * 유일한 옵션 *으로 자동으로 상쾌하게하지 않습니다. – CommonsWare

3

왜 당신이 내가 ... 버전은 다음과 같습니다 손질 한 문제를 solveed이

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    final boolean customTitle= requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 

    setContentView(R.layout.main); 

    if (customTitle) { 
     getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, Set your layout for title here and mention your button in this layout); 
    } 

    final TextView myTitleText = (TextView) findViewById(R.id.myTitle); 
    if (myTitleText != null) { 
     myTitleText.setText("NEW TITLE"); 
     myTitleText.setBackgroundColor(Color.BLUE); 
    } 
} 
3

네 ... 흥미롭게

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 

    setContentView(R.layout.main); 
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, Set your layout for title here and mention your button in this layout); 

    final TextView myTitleText = (TextView) findViewById(R.id.myTitle); 
    if (myTitleText != null) { 
     /* your code here */ 
    } 
} 
관련 문제