2017-07-08 87 views
1

對於大多數人:我們在photoshop中爲我們的應用設計我們的屏幕,然後嘗試將它們轉移到Visual Studio中。Android,佈局:如何讓我的按鈕覆蓋axml中的現有佈局?

這是我們的應用程序從Photoshop截圖:

enter image description here

你可以想象,進一步我們去它變得更難。中心屏幕很容易,但左,右 - 哦,男孩...

無論如何,今天我在這裏是爲了正確的。如你所見,有這些標題如:「向我們展示對亞洲的愛」。 這個整個盒子顯示一張照片,一個標題,一些額外的資訊和: 個人資料圖片。

整體是一個滾動視圖,每個框下面的白條實際上是png。原因是,我們需要他們在不同平臺上的大小相同。無論如何 - 個人資料圖片與圖片框之間的圖片框和白色分隔線png重疊。

這裏是一個問題:我們該如何將它實現到我們的axml中?

至於屏幕,這是它在XML:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/layoutadventure" 
    android:background="@android:color/white" 
    android:orientation="vertical"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_weight="17" 
     android:layout_height="0dp" 
     android:background="#23313e" 
     android:orientation="horizontal"> 
     <ImageView 
      android:layout_width="0dp" 
      android:src="@drawable/sub_category_europe" 
      android:layout_gravity="center" 
      android:layout_height="wrap_content" 
      android:layout_weight="30" 
      android:id="@+id/imgSubchallenge" /> 
     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_weight="40" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 
      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_gravity="center|bottom" 
       android:id="@+id/txtSub" 
       android:layout_weight="60" 
       android:gravity="center|bottom" 
       android:text="Positive Thinking" 
       android:textColor="#FFFFFF" 
       android:textSize="18sp" 
       android:textStyle="bold|italic" /> 
      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="0dp" 
       android:layout_weight="5" 
       android:layout_gravity="top|center" 
       android:gravity="top|center" 
       android:src="@drawable/dotted_line_challenges" /> 
      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_weight="35" 
       android:layout_height="0dp" 
       android:orientation="vertical" /> 
     </LinearLayout> 
     <ImageView 
      android:layout_width="0dp" 
      android:src="@drawable/bar2" 
      android:layout_gravity="center" 
      android:layout_height="wrap_content" 
      android:layout_weight="5" /> 
     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_weight="25" 
      android:layout_height="match_parent" 
      android:orientation="horizontal"> 
      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_weight="50" 
       android:layout_height="match_parent" 
       android:orientation="vertical"> 
       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="30" 
        android:orientation="vertical" /> 
       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="15" 
        android:text="Total" 
        android:textColor="#FFFFFF" 
        android:textSize="10sp" /> 
       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="15" 
        android:text="Done" 
        android:textColor="#FFFFFF" 
        android:textSize="10sp" /> 
       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="15" 
        android:text="Exp" 
        android:textColor="#FFFFFF" 
        android:textSize="10sp" /> 
       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="25" 
        android:orientation="vertical" /> 
      </LinearLayout> 
      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_weight="50" 
       android:layout_height="match_parent" 
       android:orientation="vertical"> 
       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="30" 
        android:orientation="vertical" /> 
       <TextView 
        android:id="@+id/totalChallenges" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="15" 
        android:text="Total" 
        android:gravity="right" 
        android:textColor="#FFFFFF" 
        android:textSize="10sp" /> 
       <TextView 
        android:id="@+id/totalChallengesDone" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="15" 
        android:text="Done" 
        android:gravity="right" 
        android:textColor="#FFFFFF" 
        android:textSize="10sp" /> 
       <TextView 
        android:id="@+id/totalXP" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="15" 
        android:text="Exp" 
        android:gravity="right" 
        android:textColor="#FFFFFF" 
        android:textSize="10sp" /> 
       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="25" 
        android:orientation="vertical" /> 
      </LinearLayout> 
     </LinearLayout> 
     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="2" 
      android:orientation="vertical" /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="0.5" 
     android:orientation="vertical" /> 
    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="82.5" 
     android:scrollbars="none" 
     android:id="@+id/scrlview"> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:id="@+id/linlayout" 
      android:orientation="vertical" /> 
    </ScrollView> 
</LinearLayout> 

所以你可能看到的窘境:資料圖片是中途滾動視圖的一列,中途另一列。

你能爲此提供任何幫助嗎?感謝這麼多:)

+0

忘記linearlayouts,擁抱relativelayouts! – ElDuderino

+0

hell nooo:D !! – MrMee

回答

1

試試這個,我希望這會幫助你。這僅限於「展示我們對亞洲的愛」只有一個項目。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

    <FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="500dp"> 
     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="500dp" 
      android:orientation="vertical" 
      android:background="@color/colorAccent"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight=".8" 
       android:background="@color/colorPrimary"> 

      </LinearLayout> 
      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight=".2" 
       android:background="@color/colorAccent"> 

      </LinearLayout> 

     </LinearLayout> 
     <android.support.v4.widget.CircleImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@mipmap/ic_launcher_round" 
      android:layout_gravity="bottom" 
      android:layout_marginBottom="75dp"/> 
    </FrameLayout> 
</LinearLayout> 
+0

謝謝,我今天晚些時候會試一試:) – MrMee

+0

剛剛測試過它,並得到它的工作!我需要將android.support.v4替換爲簡單的圖像視圖,但是這樣做了!「你能解釋這是怎麼工作的原因嗎?謝謝! – MrMee

+0

我很高興你得到了你的答案。根據你的要求,你需要在兩個視圖之間設置'imageview'或'Circle View'精確到兩個視圖,所以通過使用'FramLayout'我們可以重疊控制一個。'RelativeLayout'也可以,但'FramLayout'更好用。 https://developer.android.com/reference/android/widget/FrameLayout.html – Shailesh