2016-02-12 79 views
0

嗨,大家好我想建立一個佈局,但我不能夠了解如何建立它 我想要做的是添加一個圖像,其高度和寬度將是屏幕尺寸和它下面將是一個描述關於這當他們滾動,但整個屏幕將包括圖像的只有等到用戶滾動下面的文字不會被顯示Android:如何添加圖像,然後在滾動視圖中的文本下方?

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/scrollView" 
    android:fillViewport="true" 

    > 

<RelativeLayout 
    android:layout_weight="1" 
    android:id="@+id/relativla" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 

    > 
    <Button 
     android:layout_width="30dp" 
     android:layout_height="30dp" 

     android:background="@drawable/hamburger" 
     android:id="@+id/navi" 
     android:padding="10dp" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 

    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/imageView" 
     android:background="@drawable/dp"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/descrpitiondietplan" 
     android:id="@+id/textView5" 
     android:layout_below="@+id/imageView" 
     /> 


</RelativeLayout> 

</ScrollView> 

你可以看到用戶可以查看圖像下面的鏈接方式,我想佈局爲

http://postimg.org/image/avgmk6pi3/

請隨時留言下降,如果您需要任何額外的細節

編輯1

嘗試雷切爾的解決方案我收到此

http://postimg.org/image/tdb02gu9l/

現在,你可以在看後圖像的圖像視圖正在採取整個屏幕的寬度是好的,但它不佔用整個屏幕的高度,如果我寫match_parent到imageview layout_height圖像採取整個屏幕,但它不允許我滾動

+0

你的描述比你的樣本圖像不同。你說你想讓圖像成爲屏幕的寬度和高度,但是你的示例顯示圖像只是屏幕的寬度,而文本佔據了它下面的其餘空間。另外我還不清楚你想如何滾動文字。 –

+0

@DougStevenson先生在他們的意志圖像耙出屏幕的大小,所以當你打開應用程序,你會看到圖像的第一件事,之後,你可以向下滾動,閱讀有關該圖像的文字 – New

+0

@DougStevenson我希望現在我我清楚 – New

回答

0

終於得到它在谷歌和計算器了一些研究工作後,終於得到了一個辦法

所以這裏是第一您的活動/片段

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View v = inflater.inflate(R.layout.second_frag, container, false); 


     img = (ImageView) v.findViewById(R.id.imageView); 
     Drawable drawable = getResources().getDrawable(R.drawable.dp); 
     Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap(); 
     float scalingFactor = this.getBitmapScalingFactor(bitmap); 

     Bitmap newBitmap = Util.ScaleBitmap(bitmap, scalingFactor); 

     // Set the bitmap as the ImageView source 
     this.img.setImageBitmap(newBitmap); 

     return v; 
    } 
    private float getBitmapScalingFactor(Bitmap bm) { 
     // Get display width from device 
     int displayWidth = getActivity().getWindowManager().getDefaultDisplay().getWidth(); 

     // Get margin to use it for calculating to max width of the ImageView 
     RelativeLayout.LayoutParams layoutParams = 
       (RelativeLayout.LayoutParams)this.img.getLayoutParams(); 
     int leftMargin = layoutParams.leftMargin; 
     int rightMargin = layoutParams.rightMargin; 

     // Calculate the max width of the imageView 
     int imageViewWidth = displayWidth - (leftMargin + rightMargin); 

     // Calculate scaling factor and return it 
     return ((float) imageViewWidth/(float) bm.getWidth()); 
    } 

,因爲我使用的片段我有onCreateView的onCreate將使用活動

是人

,並創建一個utils的類

public class Util { 
    public static Bitmap ScaleBitmap(Bitmap bm, float scalingFactor) { 
     int scaleHeight = (int) (bm.getHeight() * scalingFactor); 
     int scaleWidth = (int) (bm.getWidth() * scalingFactor); 

     return Bitmap.createScaledBitmap(bm, scaleWidth, scaleHeight, true); 
    } 

,如果你們有更好的解決辦法不要讓我知道

0

聽起來好像您需要做一些工作才能獲得設備的屏幕大小,然後使用該設置以編程方式設置圖像視圖的大小。

見接受的答案在這裏,詳細瞭解計算設備的屏幕尺寸:Android Layout, view height is equal to screen size

+0

當然rachel我會試試看,並讓你知道 – New

+0

更新請看一看 – New

相關問題