Nasıl bir Android uygulaması için şeffaf bir demo ekran oluşturmak mı?
Bir kullanıcı benim ilk uygulama yükler sadece başlatılan yarı saydam bir demo ekran oluşturmak için çalışıyorum. İşte Darbe Haber uygulamasından bir örnek:
Galaxy Nexus
Nexus One
Bir 'için kapat'a dokunun' özelliği, kullanıcı ile böyle şeffaf demo birkaç sayfa tokatlamak mümkün olmak istiyorum. yerine
İlk denemem için, ViewPagerIndicator kütüphaneden bir örnek değiştirdim. Görünüm çağrı ... ... parçalarının her birinin içinde İmageViews, yarı şeffaf PNG kullandım. Ben o zaman bir olarak başlatılan 'demo aktivite' benim onCreate yöntemi 'ana faaliyet'.
Sorun: 'ana faaliyet' arka planda görülebilir değildir - bunun yerine sadece karanlık vardı. here, ama bu sorunu çözmek vermedi çözümleri denedim.
Böyle bir şey yaratmak için daha iyi bir yaklaşım var, ya da doğru yolda mıyım?
Ben de bu hayata ne kadar bağlı olan başka bir ilgili bir soru vardı. Yerleşimi metin için çalışıyor ve arka planda özel UI bileşenleri de işaret eden oklar gibi oldum. Metin ve oklar olan bir PNG kullanarak, düzgün farklı cihazlarda ölçek olacaktır. I. e., okları mutlaka arka planda doğru UI bileşeni işaret edebilir. Bir şekilde bu sorunu çözmek için vardır?
Teşekkürler!
İşte ilk deneme için benim kod:
DemoActivity.java
public class DemoActivity extends FragmentActivity {
DemoFragmentAdapter mAdapter;
ViewPager mPager;
PageIndicator mIndicator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.demo_activity);
mAdapter = new DemoFragmentAdapter(getSupportFragmentManager());
mPager = (ViewPager)findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
//mPager.setAlpha(0);
UnderlinePageIndicator indicator = (UnderlinePageIndicator)findViewById(R.id.indicator);
indicator.setViewPager(mPager);
indicator.setFades(false);
mIndicator = indicator;
}
}
DemoFragmentAdapter.java
class DemoFragmentAdapter extends FragmentPagerAdapter {
protected static final int[] CONTENT = new int[] { R.drawable.demo1, R.drawable.demo2, R.drawable.demo3, R.drawable.demo4};
private int mCount = CONTENT.length;
public DemoFragmentAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return DemoFragment.newInstance(CONTENT[position % CONTENT.length]);
}
@Override
public int getCount() {
return mCount;
}
public void setCount(int count) {
if (count > 0 && count <= 10) {
mCount = count;
notifyDataSetChanged();
}
} }
DemoFragment.java
public final class DemoFragment extends Fragment {
private static final String KEY_CONTENT = "TestFragment:Content";
public static DemoFragment newInstance(int content) {
DemoFragment fragment = new DemoFragment();
fragment.mContent = content;
return fragment;
}
private int mContent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ((savedInstanceState != null) && savedInstanceState.containsKey(KEY_CONTENT)) {
mContent = savedInstanceState.getInt(KEY_CONTENT);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ImageView image = new ImageView(getActivity());
image.setBackgroundResource(mContent);
LinearLayout layout = new LinearLayout(getActivity());
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
layout.setGravity(Gravity.CENTER);
layout.addView(image);
return layout;
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt(KEY_CONTENT, mContent);
}
}
CEVAP
Farklı aktivite, demo bilgilerini yaz ve aşağıdaki tema verin.
<style name="Transparent" parent="@android:style/Theme.NoTitleBar">
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
ActionBarSherlock değiştirmek kullanıyorsun @style/Theme.Sherlock
parent
eğer.
Bu şeffaf bir aktivite verecektir, altındaki etkinliğini görmek mümkün olacak.
Şimdi saydam bir arka plan çok istediğini tahmin ediyorum.
Xml düzeni (şeffaf etkinlik) ekleyin:
android:background="#aa000000"
Rengini tanımlamak son 6 hanesi: 000000 siyah.
İlk 2 opaklığı tanımlayın: 00 100% opak ff 100% şeffaf. Bu yüzden seçim arasında bir şey.
Nasıl Android Şeffaf Etkinlik oluşturm...
Nasıl bir android uygulaması HTML 5 ku...
Nasıl Android 4.0 için bir AVD oluştur...
Nasıl Android uygulaması yapı/sürüm nu...
Nasıl bir arka plan android %20 şeffaf...