2014-02-05 4 views
0

대화 상자에 현재 활동을 작성하려면 어떻게해야합니까? 나는 정말로 도움을 주셔서 감사합니다. 미리 감사드립니다. ICS 이상.내 활동을 대화 상자로 전환하는 방법

public class MainActivity extends Activity implements TabListener { 

     final String[] page_titles = new String[]{"Home", "contact", "Apps"}; 
     //this will go the description TextView 
      final String[] desc = new String[]{ 
       "This is the homepage ", 
       "contact", 
       "apps" 
     }; 
    ViewPager pager; 

    ActionBar bar; 

    Dialog dialog; 

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





      pager = (ViewPager)findViewById(R.id.pager); 

      bar = getActionBar(); 

      myAdaptertest1 mAdapter = new myAdaptertest1(this); 

      bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

      bar.setHomeButtonEnabled(false); 

      pager.setAdapter(mAdapter); 
      pager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { 

       @Override 
       public void onPageSelected(int position) { 

        bar.setSelectedNavigationItem(position); 
       } 
      }); 



      Tab hometab = bar.newTab(); 
      hometab.setText("Home"); 
      hometab.setTabListener(this); 
      bar.addTab(hometab); 

      Tab cameratab = bar.newTab(); 
      cameratab.setText("contact"); 
      cameratab.setTabListener(this); 
      bar.addTab(cameratab); 

      Tab exploretab = bar.newTab(); 
      exploretab.setText("apps"); 
      exploretab.setTabListener(this); 
      bar.addTab(exploretab); 


      bar.show(); 
      bar.setDisplayShowTitleEnabled(false); 
      bar.setDisplayShowHomeEnabled(false); 



    } 


    private class myAdaptertest1 extends PagerAdapter{ 

     Context context; 

     public myAdaptertest1(Context c){ 
      this.context = c; 
     } 

     @Override 
     public int getCount() { 
      // TODO Auto-generated method stub 
       return page_titles.length; 
     } 

     @Override 
     public boolean isViewFromObject(View v, Object o) { 
      // TODO Auto-generated method stub 
       return v.equals(o); 
     } 





     public Object instantiateItem(View pager, int position) { 
      final LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      View vi = inflater.inflate(R.layout.page, null, false); 

      TextView title = (TextView)vi.findViewById(R.id.tvTitle); 
      TextView description = (TextView) vi.findViewById(R.id.tvdesc); 

      title.setText(page_titles[position]); 
      description.setText(desc[position]); 

      //This is very important 
      ((ViewPager) pager).addView(vi, 0); 

      return vi; 
     } 

     @Override 
     public void destroyItem(View pager, int position, Object view) { 
      ((ViewPager) pager).removeView((View) view); 
     } 


    } 


    @Override 
    public void onTabReselected(Tab tab, FragmentTransaction ft) { 
     // TODO Auto-generated method stub 

    } 


    @Override 
    public void onTabSelected(Tab tab, FragmentTransaction ft) { 
     // TODO Auto-generated method stub 
     pager.setCurrentItem(tab.getPosition()); 
    } 


    @Override 
    public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
     // TODO Auto-generated method stub 

    } 



} 

XML

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
<android.support.v4.view.ViewPager 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/pager"/> 
</LinearLayout> 

답변

0

당신은 새로운 활동을 만들 수 있습니다 당신이 그것을 대화와 같은 만들 수 있습니다. 4.0 이전의 장치에서 작업하는 경우 다음을 수행해야합니다.

res/values-v11 (API 11+에서 작동 함) 폴더를 만든 다음 styles.xml이라는 파일을 추가합니다. 이 파일에서 다음을 입력 한 후

<resources> 
    <style name="my_activity_theme" parent="android:Theme.Light"/> 
</resources> 

및 AndroidManifest를에서 응용 프로그램에 적용 :

<resources> 
    <style name="my_activity_theme" parent="android:Theme.Holo.Light"/> 
</resources> 

이 그런 다음에/입술에있는 당신의 styles.xml에/폴더이 줄을 값 추가

.xml :

<activity 
    ... 
    <android:theme="@style/my_activity_theme"/> 

</activity 

이렇게하면 유동적 인 활동을 할 수 있습니다. 나는 그것을 테스트하지 않았지만 노력할 가치가 있다고 생각합니다.

은 당신이

+0

찾고있는 희망은 시도 '<스타일 이름 = "PopupTheme"부모 = "안드로이드 : Theme.Holo.Light.Dialog"> <항목 이름 = "안드로이드 : windowIsFloating"> 사실 <항목 이름 = "안드로이드 : windowContentOverlay"> 널 @<항목 이름 = "안드로이드 : windowSoftInputMode"> stateAlwaysHidden <항목 이름 = "안드로이드 : windowActionModeOverlay"> 사실 <항목 이름 = "안드로이드 : windowIsTranslucent "> 사실 ':::::::: 오류가 발생했습니다 :::::::::::::: \t'bar.setNavigationMode (ActionBar.NAVIGATION_MODE_TABS); ' – jason

+0

또한 코드를 시도했지만 대화 상자가 아닙니다. 위의 코드를 대화 상자에 팝업해야합니다. 어떻게해야합니까? – jason

관련 문제