2015-05-10 2 views
-5

Это, как я хотел бы мой макет:Android Разработка макета

http://i.imgur.com/1iAtjCw.png

Я хочу от 2 до 90% от высоты 1 в. 3 должна составлять 10% от высоты 1.

Я пробовал иметь 1 быть LinearLayout, FrameLayout, RelativeLayout, но я не могу заставить его работать. Я думаю, что я просто пропустил что-то простое.

Edit (Добавление реализации):

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="80" 
    android:layout_marginLeft="15dp" 
    android:layout_marginRight="15dp" 
    android:layout_marginTop="-1dp" 
    android:orientation="vertical" 
    android:weightSum="100" 
> 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="80" 
     android:background="@drawable/bg_black_opaque"> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="20" 
     android:layout_marginTop="-30dp"> 
    </LinearLayout> 
</LinearLayout> 
+0

считается ли вы с помощью WebView? –

+0

У меня нет, я новичок в этом. Я займусь этим и отправлю обратно. Редактировать: Я не вижу, как это решит мою проблему. – tyejae

+0

показать свою реализацию – silverFoxA

ответ

0

Попробуйте

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@color/background"> 
<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_marginBottom="10dp" 
    android:layout_marginTop="5dp" 
    android:background="@color/black" 
    android:layout_marginRight="5dp" 
    android:layout_marginLeft="10dp" 
    android:layout_height="match_parent"> 
    <RelativeLayout 
     android:layout_alignParentBottom="true" 
     android:layout_width="match_parent" 
     android:background="@color/cost" 
     android:layout_height="60sp"/> 
</RelativeLayout> 

+0

Спасибо @Virus, это именно то, что я искал. – tyejae

+0

рад помочь .. – silverFoxA

0

Попробуйте

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_content"> 

    <RelativeLayout 
     android:id="@+id/view2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <RelativeLayout 
     android:id="@+id/view3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

</RelativeLayout> 

Теперь в Java коде получить высоту разрешения устройства

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 
int deviceHeight = metrics.heightPixels; 

и установить LayoutParams для View2 и view3 программно.

RelativeLayout.LayoutParams paramsView3 = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,0.9 * deviceHeight); 
paramsView3 .addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
view3.setLayoutParams(paramsView3); 

RelativeLayout.LayoutParams paramsView2 = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, 0.2 * deviceHeight); 
view2.setLayoutParams(paramsView2); 
+0

Это, к сожалению, не позволяет им перекрываться. Я бы хотел, чтобы они перекрывались, как показано на рисунке. – tyejae

+0

Как вы хотите? Я имею в виду, вы хотите, чтобы view3 перекрывал точную половину? – Kunu

+0

Я бы хотел, чтобы view3 перекрывал view2 на половину высоты view3. – tyejae

Смежные вопросы