如何 setContentView 在碎片?
现在我有这个片段,我想用它 setContentView, 但直到我能找到如何做到。 您可以在下面的代码中看到我的案例,我不尝试膨胀布局,我正试图用叫做演示文稿 SampleView. 那我该怎么做?
先感谢您
先感谢您
public class largeImageScroller extends SherlockFragment {
// Physical display width and height.
private static int displayWidth = 0;
private static int displayHeight = 0;
/** Called when the activity is first created. */
public View onCreateView/LayoutInflater inflater, ViewGroup group, Bundle saved/ {
getActivity//;
// displayWidth and displayHeight will change depending on screen
// orientation. To get these dynamically, we should hook onSizeChanged//.
// This simple example uses only landscape mode, so it's ok to get them
// once on startup and use those values throughout.
Display display = //WindowManager/
getActivity//.getSystemService/Context.WINDOW_SERVICE//.getDefaultDisplay//;
displayWidth = display.getWidth//;
displayHeight = display.getHeight//;
// SampleView constructor must be constructed last as it needs the
// displayWidth and displayHeight we just got.
setContentView/new SampleView/this//;
}
private static class SampleView extends View {
private static Bitmap bmLargeImage; //bitmap large enough to be scrolled
private static Rect displayRect = null; //rect we display to
private Rect scrollRect = null; //rect we scroll over our bitmap with
private int scrollRectX = 0; //current left location of scroll rect
private int scrollRectY = 0; //current top location of scroll rect
private float scrollByX = 0; //x amount to scroll by
private float scrollByY = 0; //y amount to scroll by
private float startX = 0; //track x from one ACTION_MOVE to the next
private float startY = 0; //track y from one ACTION_MOVE to the next
public SampleView/Context context/ {
super/context/;
// Destination rect for our main canvas draw. It never changes.
displayRect = new Rect/0, 0, displayWidth, displayHeight/;
// Scroll rect: this will be used to 'scroll around' over the
// bitmap in memory. Initialize as above.
scrollRect = new Rect/0, 0, displayWidth, displayHeight/;
// Load a large bitmap into an offscreen area of memory.
bmLargeImage = BitmapFactory.decodeResource/getResources//,
R.drawable.ground_floor_b/;
}
@Override
public boolean onTouchEvent/MotionEvent event/ {
switch /event.getAction/// {
case MotionEvent.ACTION_DOWN:
// Remember our initial down event location.
startX = event.getRawX//;
startY = event.getRawY//;
break;
case MotionEvent.ACTION_MOVE:
float x = event.getRawX//;
float y = event.getRawY//;
// Calculate move update. This will happen many times
// during the course of a single movement gesture.
scrollByX = x - startX; //move update x increment
scrollByY = y - startY; //move update y increment
startX = x; //reset initial values to latest
startY = y;
invalidate//; //force a redraw
break;
}
return true; //done with this event so consume it
}
@Override
protected void onDraw/Canvas canvas/ {
// Our move updates are calculated in ACTION_MOVE in the opposite direction
// from how we want to move the scroll rect. Think of this as dragging to
// the left being the same as sliding the scroll rect to the right.
int newScrollRectX = scrollRectX - /int/scrollByX;
int newScrollRectY = scrollRectY - /int/scrollByY;
// Don't scroll off the left or right edges of the bitmap.
if /newScrollRectX < 0/
newScrollRectX = 0;
else if /newScrollRectX > /bmLargeImage.getWidth// - displayWidth//
newScrollRectX = /bmLargeImage.getWidth// - displayWidth/;
// Don't scroll off the top or bottom edges of the bitmap.
if /newScrollRectY < 0/
newScrollRectY = 0;
else if /newScrollRectY > /bmLargeImage.getHeight// - displayHeight//
newScrollRectY = /bmLargeImage.getHeight// - displayHeight/;
// We have our updated scroll rect coordinates, set them and draw.
scrollRect.set/newScrollRectX, newScrollRectY,
newScrollRectX + displayWidth, newScrollRectY + displayHeight/;
Paint paint = new Paint//;
canvas.drawBitmap/bmLargeImage, scrollRect, displayRect, paint/;
// Reset current scroll coordinates to reflect the latest updates,
// so we can repeat this update process.
scrollRectX = newScrollRectX;
scrollRectY = newScrollRectY;
}
}
}
没有找到相关结果
已邀请:
5 个回复
快网
赞同来自:
碎片,实际上你需要返回
的
.
尝试替换:
有了这个:
君笑尘
赞同来自:
君笑尘
赞同来自:
的
.
确保您在或之后称之为
, 因为在那一刻你的
通过S.完全连接。
. 看看生命周期
.
http://developer.android.com/g ... .html
龙天
赞同来自:
但仍然 , 如果你想用它就像
, 您可以如下所述。
1.Put 这个代码片段是你必须放的地方
2.Now 如果要从文件中访问某些内容 xml, 你可以用它
3. 最后
你必须放
完美的例子 :
二哥
赞同来自:
在哪里,如碎片,我们需要覆盖
, 设置所需的视图。